當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響應傳回部分的方法和屬性内容大概就這麼多把