Python之requests模塊-response


response類故名思議,它包含了服務器對http請求的響應。每次調用requests去請求之后,均會返回一個response對象,通過調用該對象,可以查看具體的響應信息。 示例如下:

import requests
r
= requests.get('https://api.github.com/events', verify=False)
print(r.status_code)
print(r.content)

此時會打印出響應的狀態碼和內容。

我們可以根據自身的需求,獲取響應中的各種信息,具體內容見下表:

屬性或屬性方法 解釋
r.status_code 響應的http狀態碼,比如404和200
r.headers 響應頭,可單獨取出某個字段的值,比如(r.headers)['content-type']
r.raw 原始響應,表示urllib3.response.HTTPResponse對象。使用raw時,要求在請求時設置“stream=True”
r.url 請求的最終地址
r.encoding 要解碼的r.text的編碼方式
r.history 請求的歷史記錄,可以用於查看重定向信息,以列表形式展示,排序方式是從最舊到最新的請求
r.reason 響應狀態的描述,比如 "Not Found" or "OK"
r.cookies 服務器發回的cookies,RequestsCookieJar類型
r.elapsed 從發送請求到響應到達之間經過的時間量,可以用於測試響應速度。比如r.elapsed.microseconds表示響應到達需要多少微秒
r.request PreparedRequest對象,可以用於查看發送請求時的信息,比如r.request.headers查看請求頭
r.ok 檢查”status_code“的值,如果小於400,則返回True,如果不小於400,則返回False 
r.is_redirect 判斷是否重定向,返回True or False
r.is_permanent_redirect 判斷是否永久重定向,返回True or False
r.next 返回重定向鏈中下一個請求的PreparedRequest對象
r.apparent_encoding 用chardet庫判斷出的編碼方式
r.content 響應的內容,byte類型
r.text 響應的內容,unicode類型
r.links 響應的解析頭鏈接

response類除了上述屬性和屬性方法外,還提供了一些其他方法。

  • 較為常用的r.json()方法,用於將響應解析成json格式。
  • 應對stream時的iter_content()iter_line()方法,避免響應內容過大占用大量內存。

 

參考資料

 


免責聲明!

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



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