requests接口測試-headers


一,客戶端請求信息

客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成,下圖給出了請求報文的一般格式。

請求頭,這個參數不是每個接口都必須要添加,開發可以自定義。有的網站為了防抓取,服務器會判斷是否是由瀏覽器發出的請求。有時候我們使用接口測試工具發送http請求,網頁被拒絕,可能是缺少headers。因此我們在發送請求時,可以設置請求頭headers,偽裝成瀏覽器。

二,添加headers請求頭

有些網站不校驗headers,我們在編寫接口測試腳本時,HTTP請求可以不添加headers,有些網站就會校驗headers,沒有就拒絕請求。具體是否要添加headers,建議咨詢開發人員headers是否必須。下面以超級鷹官網登錄接口添加headers為例。

2.1 打開chrome瀏覽器,訪問超級鷹官網,F12調出開發者工具窗口,輸入登錄信息,點擊【登錄】,如圖:

2.2 開發者工具窗口點擊【NetWork】,選中對應請求記錄,查看請求信息,如圖:

復制請求報文request-headers的User-Agent。

2.3 編寫代碼,Http請求添加headers,headers其他字段可加可不加,但User-Agent字段一定要添加,代碼如圖:

"""
接口名稱:超級鷹網站登錄接口
目標:添加headers
接口URL: http://www.chaojiying.com/user/login/
請求方法:post
請求參數:user,pass,act
"""
import  requests
#URL地址
url="http://www.chaojiying.com/user/login/"
#data參數為字典,user為用戶名,pass為密碼
data={
     'user':'xxxxx',
     'pass': xxxxx,
     'act':1
}
#添加headers
headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'
}
#忽略警告信息
requests.packages.urllib3.disable_warnings()
#發送請求,data參數
r=requests.post(url,data=data,headers=headers,verify=False)
print(r.text)
print(r.status_code)
print(r.headers)
代碼演示:


免責聲明!

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



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