通过http发送post请求的三种Content-Type分析
通过okhttp向服务端发起post网络请求,可以通过Content-Type设置发送请求数据的格式。
常用到的三种:
1)application/x-www-form-urlencoded; charset=utf-8
2)application/json; charset=utf-8
3)multipart/form-data
1)先看第一种:application/x-www-form-urlencoded
常用于FORM表单提交,提交的表单数据会转换为键值对并按照key1=val&key2=val2的方式进行编码,key和val都进行了URL转码。
post请求:
请求的数据通过key=value&key=value的格式发送给服务端
2)application/json; charset=utf-8
请求数据是通过json格式发送给服务端的
3)multipart/form-data
请求的数据格式:
通过以上抓包可以看出使用multipart/form-data时,会在Content-Type后在生成一个key=value
boundary=2ead2cc9-95d6-46a3-99bc-b52d77e92548
在请求的数据中:
以--2ead2cc9-95d6-46a3-99bc-b52d77e92548开头
以--2ead2cc9-95d6-46a3-99bc-b52d77e92548--结尾
客户端需要传递给服务端的数据,则写在form-data字段中:name="id" 后面的值3831095就是value值。