urllib.request.Request物件封裝請求

松鼠q發表於2024-09-12

一些伺服器只允許普通瀏覽器的請求而不允許來自指令碼的請求,可以使用urllib.request.Request物件封裝請求頭的資訊(請求頭需要以字典的形式封裝)。

urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

headers字典的鍵值對會作為引數呼叫add_header()方法,詳細見python官方文件:

https://docs.python.org/3.12/library/urllib.request.html

使用httpbin工具進行請求響應測試

未封裝請求頭
 from urllib.request import Request, urlopen
# 請求地址
url = 'http://httpbin.org/get'
# 建立request物件
req = Request(url)
# 傳送請求
resp = urlopen(req)
# 讀取響應內容
print(resp.read().decode())
# 關閉連線
resp.close()

相關文章