接口測試 request的使用


接口調用,有headers,data,params,

需要傳入HTTP Header時,我們傳入一個dict作為headers參數:headers=dict
要發送POST請求,只需要把get()方法變成post(),然后傳入data參數作為POST請求的數據:data = dict
requests默認使用application/x-www-form-urlencoded對POST數據編碼。如果要傳遞JSON數據,可以直接傳入json參數:json=dict

params = {'key': 'value'}
r = requests.post(url, json=params) # 內部自動序列化為JSON

上傳文件需要更復雜的編碼格式,但是requests把它簡化成files參數:

>>> upload_files = {'file': open('report.xls', 'rb')}//在讀取文件時,注意務必使用'rb'即二進制模式讀取,這樣獲取的bytes長度才是文件的長度。
>>> r = requests.post(url, files=upload_files)
session,一個session一次會話對象,(兩種方法,cookie,session模擬瀏覽器網頁操作都可以)

操作cookie

import requests
url = 'https://www.douban.com/login'
data = {"mobilePhone": "17374858677", "userName": "xiaoming"}
res = requests.get(url, data)
cookies = res.cookies
# 充值(sessionId在cookies)
rechanrge_data = {"mobilePhone": "17374858677", "userName": "xiaoming"}
res1 = requests.post(rechanrge_url, data=rechanrge_data, cookies=cookies)
print(res1.text)

使用session不用再攜帶cookies,如下

session = requests.session()
url = 'https://www.douban.com/login'
data = {"mobilePhone": "17374858677", "userName": "xiaoming"}
res = session.get(url, data)
rechanrge_data = {"mobilePhone": "17374858677", "userName": "xiaoming"}
res1 = requests.post(rechanrge_url, data=rechanrge_data, cookies=cookies)
print(res1.text)
但是要注意不能再次初始化cookie,相當於再次打開瀏覽器,cookie更新了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM