python - 无法打开 urllib2 中的某些 url,但仍可以在浏览器中打开?

标签 python urllib2

我可以打开这个url在 firefox 或 chrome 中,但我无法使用 urllib2 打开它。

>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/.\01 January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)

Traceback (most recent call last):
  File "<pyshell#134>", line 1, in <module>
    urllib2.urlopen(req)
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 410, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request

非常奇怪的网址,但我该如何解决这个问题?

最佳答案

%20 替换空格

>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/.\01%20January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)
<addinfourl at 139708797193896 whose fp = <socket._fileobject object at 0x7f10820eb2d0>>

关于python - 无法打开 urllib2 中的某些 url,但仍可以在浏览器中打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42020980/

相关文章:

python - 如何使用 urllib 发送 cookie

python - 如何在 lxml.html 树中插入 HTML 元素

python - 类文档字符串 block 内的类属性文档字符串

python - Urllib 的 urlopen 在某些站点上中断(例如 StackApps api): returns garbage results

python - 使用 urllib urllib2 python 向 SciHub 发送表单请求不再有效

python - 如果您使用 'with' 语句打开一个文件,您还需要关闭文件对象吗?

python - sip 安装成功后安装 PyQt(用于 pyuic4) : error: PyQt-x11-gpl-4. 11 安装

python - HTTP 错误 403 : Forbidden on urllib2 request

python-3.x - 导入错误 : No module named 'urllib2' when installing Package Manager in Sublime Text 3

python - 从 Python 2 使用 urllib2 发出 HTTP HEAD 请求