首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在HTTP请求中发送带有urllib2的自定义头部?

如何在HTTP请求中发送带有urllib2的自定义头部?
EN

Stack Overflow用户
提问于 2008-12-22 00:39:53
回答 3查看 82.6K关注 0票数 67

当使用urllib2.urlopen(..)时,我想在我的请求中发送一个自定义的"Accept“头。我该怎么做?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-22 02:29:02

不完全是。创建Request对象实际上并不发送请求,并且request对象没有Read()方法。(另外:read()是小写的。)您所需要做的就是将Request作为第一个参数传递给urlopen(),这将给出您的响应。

代码语言:javascript
运行
复制
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
票数 131
EN

Stack Overflow用户

发布于 2015-08-15 23:51:41

我通常使用:

代码语言:javascript
运行
复制
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)
票数 16
EN

Stack Overflow用户

发布于 2016-05-24 20:50:29

除了已经提到的其他解决方案之外,您还可以使用add_header方法。

因此,提供的py @pantsgolem示例如下:

代码语言:javascript
运行
复制
import urllib2
request = urllib2.Request("http://www.google.com")

request.add_header('Accept','text/html')

##Show the header having the key 'Accept'
request.get_header('Accept')

response = urllib2.urlopen(request)
response.read()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/385262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档