http请求是网络请求的应用层协议,他主要包括三个部分组成:
请求行(请求地址,请求方式,协议版本) + 请求头(header)+ 请求体(post请求才有)
1.请求行:
要说明请求的地址和get/post请求
2.请求头:
主要是告诉服务器我们的一些需求,比如我们可以接受的数据类型,缓存机制等等
content-type : application/json;charset=utf-8 ---> 告诉服务器我们传递的什么类型的数据实体。
Date: Tue, 15 Nov 2010 08:12:31 GMT ---> 告诉服务器请求的时间
Accept-Language:zh-CN,zh;q=0.8" ---> 告诉服务器客户端支持的语言
User-Agent: Mozilla/5.0 (Linux; X11) ---> 告诉服务器是什么浏览器和系统
Authorization: QWxhZGRpbjpvcGVuIHNlc2FtZQ== ---> 告诉服务器授权证书,安全处理
3.请求体:
表单格式:name=malei&sex=man
json 格式:{"name":"malei","sex":"man"}
4.okhttp:
当我们请求一个服务端的时候,我们可能要为每一个请求添加公共的参数,这个时候我们可以
使用okhttp的网络拦截来截获Request请求体,然后在Request体中添加header或者公共参数。
private static Request commonRequest(Request request) { return request.newBuilder().removeHeader("User-Agent") .removeHeader("Content-Type") .addHeader("Content-type", "application/json;charset=utf-8") .addHeader("Accept-Language", "zh-CN,zh;q=0.8") .addHeader("User-Agent", "Mozilla/5.0 (Linux; U; Android 4.4.2; ").build(); }