我想在使用urllib2.urlopen(..)时在我的请求中发送自定义"Accept"标头.我怎么做?
不完全的.创建Request
对象实际上并不发送请求,而Request对象没有Read()
方法.(另外:read()
是小写的.)你需要做的就是将Request
第一个参数作为第一个参数传递urlopen()
给你,这将为你提供答案.
import urllib2 request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"}) contents = urllib2.urlopen(request).read()
我通常使用:
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)