當requests發送請求成功后,requests就會得到返回值,如果服務器響應正常,就會接收到響應數據;
Response響應中的屬性和方法
常用屬性:
- status_code:
數據類型:int
作用:返回HTTP響應的狀態碼:200、404、500、等
- reason:
數據類型:str
作用:返回HTTP響應的描述:OK、Not Found、等
- headers:
數據類型:字典
作用:返回HTTP響應頭
- url:
數據類型:str
作用:請求的真實地址
- history:
數據類型:列表(數組)
作用:訪問歷史記錄(重定向記錄)
- encoding
數據類型:str
作用:HTTP響應頭中的編碼字段,response.text 取反回值時,就是根據這個字段進行解碼的,如果沒有,則按:"ISO-8859-1"解碼
- cookies
數據類型:RequestsCookieJar
作用:獲取cookie
- elapsed
類型:datetime.timedelta
作用:發送請求到接收到響應所花費的時長
- request
類型:requests.models.PreparedRequest
作用:對應的請求對象
- raw
作用:原始響應體,也就是 urllib 的 HTTPResponse 對象,使用 response.raw.read() 讀取
常用方法
@property類型方法:
- ok(self):狀態碼是否小於400,返回值為True或False
- apparent_encoding(self):根據返回內容, 解析出來的字符編碼
- content(self):原始響應體
- text(self):經過編碼后的文本內容
普通方法:
- json(self, **kwargs):轉換成json格式的數據
- iter_content(self, chunk_size=1, decode_unicode=False):按字節分塊的迭代器
- iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None, delimiter=None):按行分塊的迭代器
- raise_for_status(self):拋出狀態異常錯誤
- close(self):關閉連接(迭代器獲取數據時,其實就是建立了長鏈接)
requests響應返回部分的方法和屬性內容大概就這么多把