urllib2给出HTTP错误400:某些网址的错误请求,适用于其他网址

1 python url http urllib2

我正在尝试用Python的urllib2模块做一个简单的HTTP get请求.它有时有效,但有时我得到HTTP Error 400: Bad Request.我知道这不是URL的问题,因为如果我使用urllib并且只是做urllib.urlopen(url)它工作正常 - 但是当我添加标题并且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()
Run Code Online (Sandbox Code Playgroud)

(gamestop.com是一个不起作用的URL的示例)

一些不同的网站有效,有些没有,所以我不确定我在这里做错了什么.我错过了一些重要的标题吗?请求不正确?使用错误的用户代理?(我也尝试使用我的浏览器的确切用户代理,但没有修复任何东西)

谢谢!

Die*_*Epp 8

你的标题中有一个额外的冒号.

headers = { 'User-Agent:': 'Mozilla/5.0' }
Run Code Online (Sandbox Code Playgroud)

应该:

headers = { 'User-Agent': 'Mozilla/5.0' }
Run Code Online (Sandbox Code Playgroud)

  • @Tom:欢迎来到StackOverflow."哇.是的,这就是问题.谢谢!" 最好表达"[通过单击答案左侧的复选框轮廓](http://stackoverflow.com/faq#howtoask)". (4认同)