【问题标题】:urllib2 gives HTTP Error 400: Bad Request for certain urls, works for othersurllib2 给出 HTTP 错误 400: Bad Request for certain urls, works for others
【发布时间】:2011-09-13 06:37:27
【问题描述】:

我正在尝试使用 Python 的 urllib2 模块进行简单的 HTTP 获取请求。它有时有效,但其他时候我得到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 示例)

有些不同的网站可以工作,有些则不能,所以我不确定我在这里做错了什么。我错过了一些重要的标题吗?错误地提出请求?使用错误的用户代理? (我也尝试使用浏览器的确切用户代理,但没有解决任何问题)

谢谢!

【问题讨论】:

    标签: python http url urllib2


    【解决方案1】:

    标题中多了一个冒号。

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

    应该是:

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

    【讨论】:

    猜你喜欢
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    相关资源
    最近更新 更多