requests基礎(二)-獲取響應內容


響應包括響應行、響應頭、響應正文,這些返回的響應信息都可以通過Request模塊獲取。這些獲取到的響應內容也是接口測試執行得到的實際結果。

獲取響信息

#requests獲取響應信息
import requests response=requests.get('https://www.taobao.com/',stream=True) #獲取響應行
print(response.status_code)#響應狀態碼
print(response.reason)#響應信息

# 響應頭
print(response.headers.get('Content-Type'))#返回的是字典類型,可以繼續使用get獲取指定的值

#獲取其他相應信息
print(response.url)#獲取請求地址
print(response.cookies)#獲取cookies
print(response.encoding)#獲取響應的編碼格式

響應正文

依據不同格式的響應正文情況,requests模塊有四種不同的處理方式

 # 方式一:普通響應內容,使用response.encoding改變編碼,防止亂碼出現
response=requests.get('https://www.taobao.com/') response.encoding='utf-8'
print(response.text) #方式二:返回二進制響應內容
response=requests.get('https://www.taobao.com/') print(response.content.decode('utf-8')) #方式三:json響應內容 json()方法會返回一個json對象
get_param_data={ "grant_type":"client_credential", "appid":"wx93fc8716b3795e90", "secret":"1ff879affa4d6c7cddc27b2e99406990" } response=requests.get('https://api.weixin.qq.com/cgi-bin/token',get_param_data) print(response.json()['access_token']) #方式四:原始響應內容 請求地址后加 stream=True 一般不使用這個
response=requests.get('https://www.taobao.com/',stream=True) print(response.raw.read(1000)) 
#擴展
#response.content下載圖片 from PIL import Image from io import BytesIO url='https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png' response=requests.get(url) img=Image.open(BytesIO(response.content)) img.save('test.png')

 


免責聲明!

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



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