我正在尝试用Python的urllib2模块做一个简单的HTTP get请求。它有时会起作用,但有时我会得到HTTP Error 400: Bad Request。我知道这不是网址的问题,因为如果我使用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是一个不起作用的网址的例子)
一些不同的网站可以工作,有些不能,所以我不确定我在这里做错了什么。我是否遗漏了一些重要的标头?不正确地发出请求?使用错误的User-Agent?(我也尝试使用浏览器的User-Agent,但没有修复任何问题)
谢谢!
发布于 2011-06-12 12:06:56
你的头上多了一个冒号。
headers = { 'User-Agent:': 'Mozilla/5.0' }应该是:
headers = { 'User-Agent': 'Mozilla/5.0' }https://stackoverflow.com/questions/6319890
复制相似问题