urllib2.urlopen(..)を使用するときに、リクエストでカスタムの「Accept」ヘッダーを送信したい。それ、どうやったら出来るの?
82617 次
3 に答える
131
そうではありません。オブジェクトを作成Request
しても実際にはリクエストは送信されず、Request オブジェクトにはRead()
メソッドがありません。(また、:read()
は小文字です。)Request
最初の引数としてurlopen()
を渡すだけで、応答が得られます。
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
于 2008-12-22T02:29:01.813 に答える
17
私は通常使用します:
import urllib2
request_headers = {
"Accept-Language": "en-US,en;q=0.5",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Referer": "http://thewebsite.com",
"Connection": "keep-alive"
}
request = urllib2.Request("https://thewebsite.com", headers=request_headers)
response = urllib2.urlopen(request).read()
print(response)
于 2015-08-15T15:51:41.410 に答える