[issue6557] urllib.urlopen creates bad requests when location header of 301 redirects contain spaces
Till Maas
report at bugs.python.org
Thu Jul 23 23:52:49 CEST 2009
New submission from Till Maas <opensource at till.name>:
If urllib.urlopen is pointed to an url that returns a redirection with a
location header that points to a url containing spaces, that are
properly urlencoded, then it creates a bad request with the spaces not
encoded in the url. Here is an example/test case:
In [1]: import urllib
In [2]:
u=urllib.urlopen("http://sourceforge.net/project/showfiles.php?group_id=16847&package_id=13374")
In [3]: u.url
Out[3]: 'http://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c Super
Stable/download'
In [4]: u.read()
Out[4]: '<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body
bgcolor="white">\r\n<center><h1>400 Bad
Request</h1></center>\r\n<hr><center>nginx/0.7.60</center>\r\n</body>\r\n</html>\r\n'
In [5]:
u=urllib.urlopen("http://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/download")
In [6]: u.read()[0:100]
Out[6]: '\n\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh'
In [7]:
----------
components: Library (Lib)
messages: 90864
nosy: till
severity: normal
status: open
title: urllib.urlopen creates bad requests when location header of 301 redirects contain spaces
versions: Python 2.5
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6557>
_______________________________________
More information about the Python-bugs-list
mailing list