【Python+postman介面自動化測試】(10)Requests 庫詳解
阿新 • • 發佈:2021-11-09
Requests 庫詳解
1、請求方法
- requests.get()
- requests.post()
- requests.put() ...
- requests.session(): 用於保持會話(session) 除了requests.session()外,其他請求方法的引數都差不多,都包含url,params, data, headers, cookies, files, auth,timeout等等
2、請求引數
- url: 字串格式,引數也可以直接寫到url中
- params:url引數,字典格式
- data: 請求資料,字典或字串格式
- headers: 請求頭,字典格式
- cookies: 字典格式,可以通過攜帶cookies繞過登入
- files: 字典格式,用於混合表單(form-data)中上傳檔案
- auth: Basic Auth授權,陣列格式 auth=(user,password)
- timeout: 超時時間(防止請求一直沒有響應,最長等待時間),數字格式,單位為秒
3、響應解析
- res.status_code: 響應的HTTP狀態碼
- res.reason: 響應的狀態碼含義
- req.text:響應的文字格式,按req.encoding解碼
- req.content: 響應的二進位制格式
- req.encoding: 解碼格式,可以通過修改req.encoding='utf-8'來解決一部分中文亂碼問題
- req.apparent_encoding:真實編碼,由chardet庫提供的明顯編碼
- req.json(): (注意,有括號),響應的json物件(字典)格式,慎用!如果響應文字不是合法的json文字,或報錯
- req.headers: 響應頭
- req.cookies: 響應的cookieJar物件,可以通過req.cookies.get(key)來獲取響應cookies中某個key對應的值 ... 示例:
import requests res = requests.get("https://www.baidu.com") print(res.status_code, res.reason) # 200 OK print(res.text) # 文字格式,有亂碼 print(res.content) #二進位制格式 print(res.encoding) # 檢視解碼格式 ISO-8859-1 print(res.apparent_encoding) # utf-8 res.encoding='utf-8' # 手動設定解碼格式為utf-8 print(res.text) # 亂碼問題被解決 print(res.cookies.items()) # cookies中的所有的項 [('BDORZ', '27315')] print(res.cookies.get("BDORZ")) # 獲取cookies中BDORZ所對應的值 27315
本部落格所有文章僅用於學習、研究和交流目的,歡迎非商業性質轉載。
本文來自部落格園,作者:hello_殷,轉載請註明原文連結:https://www.cnblogs.com/yinzuopu/p/15530839.html
本文版權歸作者和部落格園共有,歡迎轉載,但必須給出原文連結,並保留此段宣告,否則保留追究法律責任的權利。