1. 程式人生 > >python+requests+unittest介面自動化(3):post請求

python+requests+unittest介面自動化(3):post請求

接下來說post請求:

與get請求相比,post請求,多了一個body需要傳輸;

上程式碼為敬:

import requests
url="https://github.com"
data = {"name":"tom","age":"13"}
header = {"Content_type":"apllication/json}
r = requests.post(url=url,data=data,headers=header)

具體值只是隨手寫的,主要是內容傳參。

當然,也可以直接在裡面寫,比如:

reequests.get(url="https://github.com")

類似以上,都可以直接在請求內進行編輯。當然,為了後期的編輯和自動化,推薦大家進行變數賦值,然後進行傳參。

此外,data引數還可以傳入元組列表,在表單中多個元素使用同一key的時候,這種方式尤其有效(我暫時沒碰到過):

datas==(("key1","value1"),("key1","value2"))
r = requests.post("http://httpbin.org/post",data = datas)
print(r.text)
...
"form":{
    "key1":[
        "value1",
        "value2"
            ]
        }
...

另外,如果post請求經常body內容格式為json,這時候可以用json代替data,因為requests也有內建的json解碼器,幫助處理json資料。

json = json格式內容
requests.post(url,json=json)

最後,post請求和get請求一樣可以新增verify來指明證書位置或取消驗證。