Fixing Issue6557. urllib.urlopen will quote the space character within urls.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index 541cec8..f69ec63 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -176,6 +176,9 @@
def open(self, fullurl, data=None):
"""Use URLopener().open(file) instead of open(file, 'r')."""
fullurl = unwrap(toBytes(fullurl))
+ # percent encode url. fixing lame server errors like space within url
+ # parts
+ fullurl = quote(fullurl, safe="%/:=&?~#+!$,;'@()*[]")
if self.tempcache and fullurl in self.tempcache:
filename, headers = self.tempcache[fullurl]
fp = open(filename, 'rb')