1. 程式人生 > 實用技巧 >python介面自動化(二十三) data和json引數傳參,怎麼區分呢?

python介面自動化(二十三) data和json引數傳參,怎麼區分呢?

前言

在發post請求的時候,有時候body部分要傳data引數,有時候body部分又要傳json引數,那麼問題來了:到底什麼時候傳json,什麼時候傳data?

一、識別json引數

1.post請求的body通常有四種類型,最常見的就是json格式了。

2.用抓包工具檢視,首先點開Raw去檢視body部分,如下圖這種,引數最外面是大括號{ }包起來的,這種已經確診為json格式了。

3.再一次確認,可以點開Json這一項檢視,點開之後可以看到這裡的幾組引數是json解析後的。

4.這時候,就可以傳json引數了

d={"id":13444956,
   "postType":1,
   "accessPermission":0,
   "title":"python介面自動化(二十二) multipart/form-data表單提交"}
#d中只是一部分資料
r=requests.post(url,json=d)  

二、識別data引數

1.data引數也就是這種格式:key1=value1&key2=value2...這種格式很明顯沒有大括號

點開Raw檢視,跟上面的json區別還是很大的。

2.因為這個是非json的,所以點開JSON這個選單是不會有解析的資料的,這種資料在WebForms裡面檢視。

3.可以看到這種引數顯示在Body部分,左邊的Name這項就是key值,右邊的Value就是對應的value值,像這種引數轉化成python的字典格式就行了。

d={"user_name":"admin",
   "user_pwd":"t5/oMgwUCmO/GeMHBAQ2Cg=="
   }

4.這一種發post時候就傳data引數就可以了,格式如下:

s=requests.session()
r=s.post(url,data=d)