post请求改成body_post请求body格式
在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四種。
其中raw又分以下7種。
現(xiàn)在來(lái)區(qū)分一下:
form-data
是http請(qǐng)求中的multipart/form-data,它會(huì)將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開(kāi)。既可以上傳鍵值對(duì),也可以上傳文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type來(lái)說(shuō)明文件類型;content-disposition,用來(lái)說(shuō)明字段的一些信息;由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對(duì),它采用了鍵值對(duì)的方式,所以可以上傳多個(gè)文件。
Request Header示例:
POST /upload.do HTTP/1.1
User-Agent: SOHUWapRebot
Accept-Language: zh-cn,zh;q=0.5
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Content-Length: 60408
Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Host: www.sohu.com
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Content-Disposition: form-data;name="desc"
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[......][......][......][......]...........................
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Content-Disposition: form-data;name="pic"; filename="photo.jpg"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
[圖片二進(jìn)制數(shù)據(jù)]
--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC--
x-www-form-urlencoded
是http請(qǐng)求中的application/x-www-from-urlencoded,會(huì)將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì),&分隔。
當(dāng)form的action為get時(shí),瀏覽器用x-www-form-urlencoded的編碼方式,將表單數(shù)據(jù)編碼為
(name1=value1&name2=value2…),然后把這個(gè)字符串a(chǎn)ppend到url后面,用?分隔,跳轉(zhuǎn)
到這個(gè)新的url。
當(dāng)form的action為post時(shí),瀏覽器將form數(shù)據(jù)封裝到http body中,然后發(fā)送到server。
這個(gè)格式不能提交文件。
raw
可以上傳任意格式的文本,可以上傳text、json、xml、html、javascript等
binary
等同于Content-Type:application/octet-stream,只可上傳二進(jìn)制數(shù)據(jù),通常用來(lái)上傳文件,由于沒(méi)有鍵值,所以一次只能上傳一個(gè)文件。
注意:
form-data與x-www-form-urlencoded不同之處在于(multipart/form-data:既可以上傳文件等二進(jìn)制數(shù)據(jù),也可以上傳表單鍵值對(duì),只是最后會(huì)轉(zhuǎn)化為一條信息;?x-www-form-urlencoded:只能上傳鍵值對(duì),且鍵值對(duì)都是間隔分開(kāi)。)
1、form-data:
就是http請(qǐng)求中的multipart/form-data,它會(huì)將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開(kāi)。既可以上傳鍵值對(duì),也可以上傳文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type來(lái)說(shuō)明文件類型;content-disposition,用來(lái)說(shuō)明字段的一些信息;
由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對(duì),它采用了鍵值對(duì)的方式,所以可以上傳多個(gè)文件。
2、x-www-form-urlencoded:
就是application/x-www-from-urlencoded,會(huì)將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì),比如,name=Java&age = 23
3、raw
可以上傳任意格式的文本,可以上傳text、json、xml、html等
4、binary
相當(dāng)于Content-Type:application/octet-stream,從字面意思得知,只可以上傳二進(jìn)制數(shù)據(jù),通常用來(lái)上傳文件,由于沒(méi)有鍵值,所以,一次只能上傳一個(gè)文件。
multipart/form-data與x-www-form-urlencoded區(qū)別
multipart/form-data:既可以上傳文件等二進(jìn)制數(shù)據(jù),也可以上傳表單鍵值對(duì),只是最后會(huì)轉(zhuǎn)化為一條信息;
x-www-form-urlencoded:只能上傳鍵值對(duì),并且鍵值對(duì)都是間隔分開(kāi)的
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的post请求改成body_post请求body格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux免设置路由端口映射,2014/
- 下一篇: str计算机中代表什么,STR到底是待机