如何向 urllib2 opener 添加标头?

发布于 2024-11-13 23:42:47 字数 257 浏览 3 评论 0原文

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

如您所见,我使用 opener 来访问不同的网站,并使用 cookie jar。我可以设置一个标头,以便每次访问网站时都应用该标头吗?

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

As you can see, I use opener to visit different websites, using a cookie jar. Can I set a header so that each time a website is it, the header is applied?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沦落红尘 2024-11-20 23:42:47

您可以将标头直接添加到 build_opener 返回的 OpenerDirector 对象中。从 urllib2 文档 中的最后一个示例:

OpenerDirector 会自动向每个请求添加 User-Agent 标头。要更改此设置:

import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')

此外,请记住,当请求传递给 urlopen() (或 OpenerDirector.open())时,会添加一些标准标头(Content-Length、Content-Type 和 Host)。

You can add the headers directly to the OpenerDirector object returned by build_opener. From the last example in the urllib2 docs:

OpenerDirector automatically adds a User-Agent header to every Request. To change this:

import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')

Also, remember that a few standard headers (Content-Length, Content-Type and Host) are added when the Request is passed to urlopen() (or OpenerDirector.open()).

梦里寻她 2024-11-20 23:42:47
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)
headers = {'foo': 'bar',}
req = urllib2.Request(url, None, headers)
resp = urllib2.urlopen(req)

or

req = urllib2.Request(url)
req.add_header('foo', 'bar')
resp = urllib2.urlopen(req)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文