urllib2 给出 HTTP 错误 400:对某些 url 的错误请求,对其他 URL 有效

发布于 2024-11-15 07:09:41 字数 654 浏览 3 评论 0原文

我正在尝试使用 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 技术交流群。

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

发布评论

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

评论(1

烟凡古楼 2024-11-22 07:09:41

您的标题中多了一个冒号。

headers = { 'User-Agent:': 'Mozilla/5.0' }

应该是:

headers = { 'User-Agent': 'Mozilla/5.0' }

You've got an extra colon in your headers.

headers = { 'User-Agent:': 'Mozilla/5.0' }

Should be:

headers = { 'User-Agent': 'Mozilla/5.0' }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文