前言上一篇講過get請求的參數都在url里,post的請求相對於get請求多了個body部分,本篇就詳細講解下body部分參數的幾種形式。
一、body數據類型
常見的post提交數據類型有四種:
1.第一種:application/json:這是最常見的json格式,也是非常友好的深受小伙伴喜歡的一種,如下
{"input1":"xxx","input2":"ooo","remember":false}
2.第二種:application/x-www-form-urlencoded:瀏覽器的原生 form 表單,如果不設置 enctype 屬性,那么最終就會以 application/x-www-form-urlencoded 方式提交數
input1=xxx&input2=ooo&remember=false
3.第三種:multipart/form-data:這一種是表單格式的,數據類型如下
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text" title ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name="file"; filename="chrome.png" Content-Type: image/png PNG ... content of chrome.png ... ------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
4.第四種:text/xml:這種直接傳的xml格式
<!--?xml version="1.0"?-->
<methodcall>
<methodname>examples.getStateName</methodname>
<params>
<param>
<value><i4>41</i4></value>
</params>
</methodcall>
二、json格式
1.打開博客園的登錄頁面,輸入賬號密碼后抓包,查看post提交數據,點開Raw查看整個請求的原始數據
2.前面講過post的請求多一個body部分,上圖紅色區域就是博客園登錄接口的body部分,很明顯這種格式是前面講到的第一種json格式
3.查看json格式的樹狀結構,更友好,可以點開JSON菜單項
4.查看這里的json數據,很明顯傳了三個參數:
--input1:這個是登錄的賬號參數(加密過)
--input2:這個是登錄的秘密參數(加密過)
--remember:這個是登錄頁面的勾選是否記住密碼的選項,False是不記住,True是記住
三、x-www-form-urlencoded
1.登錄博客園后,打開新隨筆,隨便寫一個標題和一個正文后保存,抓包數據如下
2.如上圖的這種格式,很明顯就屬於第二種了,這種類型的數據查看,在WebFrom里面查看了
3.上面紅色框框的Query String是url里面的參數,下面紅色框框的body部分就是這次post提交的body參數部分了
四、WebFrom
1.為什么登錄請求的WebFrom的body部分為空呢?
2.看上圖紅色框框的顯示:這里只支持application/x-www-form-urlencoded這種格式的body參數,也就是說json格式的,需要在JOSN這一欄查看了
五、xml
1.如果遇到text/xml這種格式的body,那就如下圖這樣的了
覺得對你有幫助,就在右下角點個贊吧,感謝支持!
對fiddler這個工具感興趣,或者對python接口自動化有興趣的,可以加python接口自動化QQ群:226296743
也可以關注下我的個人公眾號:
---------------------------------python接口自動化已出書-------------------------
全書購買地址 https://yuedu.baidu.com/ebook/585ab168302b3169a45177232f60ddccda38e695