urllib2给出HTTP错误400:对某些url的错误请求,对其他url起作用

问题描述

|| 我正在尝试使用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()
(gamestop.com是无效的URL的示例) 一些不同的站点可以工作,而有些则不行,所以我不确定这里做错了什么。我是否缺少一些重要的标题?发出错误的请求?使用了错误的User-Agent? (我也尝试使用浏览器的确切用户代理,但这并不能解决任何问题) 谢谢!     

解决方法

        标头中有一个多余的冒号。
headers = { \'User-Agent:\': \'Mozilla/5.0\' }
应该:
headers = { \'User-Agent\': \'Mozilla/5.0\' }
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...