OKHttp3学习笔记-Http Get请求

本文探讨了OKHttp3与PHP在执行GET请求时的差异,特别是Header部分。通过示例展示了如何使用OKHttp3自定义Header参数以模拟Web请求,并强调理解HTTP协议Header参数的重要性。接下来将对比PHP的文件上传与OKHttp3的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完成了环境搭建后,我的目的是对比用TP5实现的Web端访问生成的Http请求和用使用OKHttp3实现的Http请求都有哪些异同。在使用OKHttp3时,除了简单地Get/Post请求,要做文件上传时我们都在做什么。通过对比有一个直观的认识。
Get请求
php的Get请求:

GET http://localhost/index/index/dosubmit.html?fname=yang&lname=liu HTTP/1.1
Host: localhost
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost/index/index/index
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8
Cookie: pgv_pvi=6689128448; Phpstorm-ba9458cf=5f1ce810-71dc-4a40-821d-4699b7059873

OkHttp3实现的Get请求:

GET http://192.168.9.80/index/index/dosubmit.html?fname=yang&lname=liu HTTP/1.1
Host: 192.168.9.80
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.8.1

上面这个是默认的OKHttp3做Get请求时的request信息,对应代码

val url = "http://192.168.9.80/index/index/dosubmit.html?fname=yang&lname=liu"
val okHttpClient = OkHttpClient()
val request = Request.Builder()
    .url(url)
    .build()
val call = okHttpClient.newCall(request)
call.enqueue(object: Callback{
    override fun onFailure(p0: Call?, p1: IOException?) {

    }

    override fun onResponse(p0: Call?, p1: Response?) {

    }
})

可以发现默认的OKHttp3的Get请求和PHP的Get请求,Header有很大的不同,具体每个参数是什么意思可以参考这篇文章的链接:http://blog.youkuaiyun.com/theowl/article/details/47251197
但我们在使用的时候加入要完全模拟一个Web请求,就需自己去修改Header的参数,以User-Agent为例的话,就需要在构造request时,使用如下代码:

val request = Request.Builder()
    .url(url)
    .addHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36")
    .build()

这时的request请求就变成了

GET http://192.168.9.80/index/index/dosubmit.html?fname=yang&lname=liu HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36
Host: 192.168.9.80
Connection: Keep-Alive
Accept-Encoding: gzip

所以OKHttp3提供给了我们一个非常简单的修改Header参数的方法。
但是了解HTTP协议Header参数的意思和常用值应该更重要一些。
下次在用PHP实现文件上传,然后在用OKHttp3实现一下对比来看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值