簡體   English   中英

獲取 Urllib2.Request 的請求標頭?

[英]Get Request Headers for Urllib2.Request?

有沒有辦法從使用 Urllib2 創建的請求中獲取標頭或確認使用 urllib2.urlopen 發送的 HTTP 標頭?

查看請求(和響應標頭)的一種簡單方法是啟用調試 output:

opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))

然后,您可以看到發送/接收的精確標頭:

>>> opener.open('http://python.org')
send: 'GET / HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: python.org\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Tue, 14 Jun 2011 08:23:35 GMT
header: Server: Apache/2.2.16 (Debian)
header: Last-Modified: Mon, 13 Jun 2011 19:41:35 GMT
header: ETag: "105800d-486d-4a59d1b6699c0"
header: Accept-Ranges: bytes
header: Content-Length: 18541
header: Connection: close
header: Content-Type: text/html
header: X-Pad: avoid browser bug
<addinfourl at 140175550177224 whose fp = <socket._fileobject object at 0x7f7d29c3d5d0>>

您還可以在發出請求之前使用urllib2.Request對象標頭進行設置(並覆蓋默認標頭,盡管事先不會出現在標頭字典中):

>>> req = urllib2.Request(url='http://python.org')
>>> req.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0)')
>>> req.headers
{'User-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0)'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM