Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向urllib2 opener添加标题?_Python_Http_Header_Urllib2 - Fatal编程技术网

Python 如何向urllib2 opener添加标题?

Python 如何向urllib2 opener添加标题?,python,http,header,urllib2,Python,Http,Header,Urllib2,正如您所看到的,我使用opener访问不同的网站,使用cookie jar。我是否可以设置一个标题,以便每次创建网站时都应用该标题 cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.open('http://abc.com') opener.open('http://google.com') 或 您可以将标题直接添加到build\u opene

正如您所看到的,我使用opener访问不同的网站,使用cookie jar。我是否可以设置一个标题,以便每次创建网站时都应用该标题

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))    
opener.open('http://abc.com')
opener.open('http://google.com')


您可以将标题直接添加到
build\u opener
返回的
OpenerDirector
对象中。从中的最后一个示例:

OpenerDirectory会自动向每个请求添加一个用户代理头。要更改此设置,请执行以下操作:

另外,请记住,在将请求传递给urlopen()或OpenerDirector.open()时,会添加一些标准头(内容长度、内容类型和主机)


opener
是一个完全不同的对象,在这种情况下,您不能使用
Request
。@senderle您说得对,谢谢。@piotrdorgost,公平地说,这个特定的功能没有得到充分的说明。该类条目是空的;以上信息很容易遗漏。
headers = {'foo': 'bar',}
req = urllib2.Request(url, None, headers)
resp = urllib2.urlopen(req)
req = urllib2.Request(url)
req.add_header('foo', 'bar')
resp = urllib2.urlopen(req)
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')