檢查http響應
requests處理session-cookie
介面測試概要
安裝requests庫pip3 install requests
構建http請求
urlencoded格式
?後面的都是url的引數,每個引數之間是用 & 隔開的;
# 一般寫法:
response = requests.get(
'')# 如果url引數中包含特殊字元,如:&符號時就不能使用上面的寫法了,這樣的話會被拆分兩個引數
# 可以把這些引數放到乙個字典裡面,然後把字典物件傳遞給 requests請求方法的 params 引數,如下
urlpara =
response = requests.get(
'',params=urlpara)
json訊息體格式json 是一種表示資料的語法格式,使用python中json庫的dumps方法:
import requests,json
payload =,]
}response = requests.post(
"", data=json.dumps(payload)
)# 或者直接將資料物件專遞給json
response = requests.post(
"", json=payload)
xml訊息體格式payload =
'''<?xml version="1.0" encoding="utf-8"?>
良好'''
r = requests.post(
"", data=payload.encode(
'utf8'))
print
(r.text)
檢查http響應
檢視狀態碼
import requests
response = requests.get(
'')print
(response.status_code)
結果:200
# 可以在url中傳入錯誤的url,就會返回404或其它的狀態碼
檢視訊息頭import requests, pprint
# pprint是格式化列印,可以直觀的列印出json格式
# proxies 是因為我本地設定了**
proxies =
response = requests.get(
'', proxies=proxies)
print
(type
(response.headers)
)pprint.pprint(
dict
(response.headers)
)
結果:
<
class
'requests.structures.caseinsensitivedict'
>
檢視訊息體import requests
response = requests.get(
'')print
(response.text)
# 如果我們要直接獲取訊息體中的位元組串內容,可以使用 content 屬性,可以直接指定編碼格式
print
(response.content.decode(
'utf8'
))
requests處理session-cookieimport requests
# 列印http響應訊息的函式
)# 列印狀態碼
print
(response.status_code)
# 迴圈取出響應訊息頭資訊
for k, v in response.headers.items():
print
(f': '
)# 列印訊息體內容
)# 建立 session 物件
s = requests.session(
)# 通過 session 物件 傳送請求
response = s.post(
"", data=
)printresponse(response)
# 通過 session 物件 傳送請求
response = s.get(
"", params=
)printresponse(response)
Python Request庫的使用
requests庫是乙個簡潔且簡單的http請求的第三方庫,它的優點是程式編寫過程更接近正常url訪問過程。網路爬蟲和資訊提交只是requests庫能支援的基本功能。其中,與網頁請求相關的函式如下表 函式描述 get url timeout n 對應於http的get方式,獲取網頁最常用的方法,可以...
python Request庫的get 方法
1.request庫的get 方法 最通常的方法是通過r request.get url 構造乙個向伺服器請求資源的url物件。這個物件是request庫內部生成的。這時候的r返回的是乙個包含伺服器資源的response物件。包含從伺服器返回的所有的相關資源。url是什麼?url是通過http協議訪...
Python request庫初使用及學習記錄
基礎方法 異常問題 爬取 的排行榜 官方文件傳送 引數說明 requests.get 獲取html網頁的主要方法,對應於http的get requests.head 獲取html網頁頭資訊的方法,對應於http的head requests.post 向html網頁提交post請求的方法,對應於htt...