urllib2 给出 HTTP 错误 400:对某些 url 的错误请求,对其他 URL 有效
我正在尝试使用 Python 的 urllib2 模块执行简单的 HTTP get 请求。有时它会起作用,但有时我会收到 HTTP 错误 400:错误请求
。我知道这不是 URL 的问题,因为如果我使用 urllib 并简单地执行 urllib.urlopen(url) ,它就可以正常工作 - 但是当我添加标头并执行 < code>urllib2.urlopen() 我在某些网站上收到错误请求。
以下是不起作用的代码:
# -*- coding: utf-8 -*-
import re,sys,urllib,urllib2
url = "http://www.gamestop.com/"
headers = {'User-Agent:':'Mozilla/5.0'}
req = urllib2.Request(url,None,headers)
response = urllib2.urlopen(req,None)
html1 = response.read()
(gamestop.com 是不起作用的 URL 的示例)
有些不同的网站可以工作,有些则不能,所以我不确定我在这里做错了什么。我是否遗漏了一些重要的标题?请求错误?使用了错误的用户代理? (我也尝试使用浏览器的确切用户代理,但这没有解决任何问题)
谢谢!
I'm trying to do a simple HTTP get request with Python's urllib2 module. It works sometimes, but other times I get HTTP Error 400: Bad Request
. I know it's not an issue with the URL, because if I use urllib
and simply do urllib.urlopen(url)
it works fine - but when I add headers and do urllib2.urlopen()
I get Bad Request on certain sites.
Here is the code that's not working:
# -*- coding: utf-8 -*-
import re,sys,urllib,urllib2
url = "http://www.gamestop.com/"
headers = {'User-Agent:':'Mozilla/5.0'}
req = urllib2.Request(url,None,headers)
response = urllib2.urlopen(req,None)
html1 = response.read()
(gamestop.com is an example of a URL that does not work)
Some different sites work, some don't, so I'm not sure what I'm doing wrong here. Am I missing some important headers? Making the request incorrectly? Using the wrong User-Agent? (I also tried using the exact User-Agent of my browser, and that didn't fix anything)
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的标题中多了一个冒号。
应该是:
You've got an extra colon in your headers.
Should be: