1. 程式人生 > 其它 >【Python+postman介面自動化測試】(10)Requests 庫詳解

【Python+postman介面自動化測試】(10)Requests 庫詳解

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

本文版權歸作者和部落格園共有,歡迎轉載,但必須給出原文連結,並保留此段宣告,否則保留追究法律責任的權利。