diff options
author | Senthil Kumaran <orsenthil@gmail.com> | 2010-05-08 03:11:50 (GMT) |
---|---|---|
committer | Senthil Kumaran <orsenthil@gmail.com> | 2010-05-08 03:11:50 (GMT) |
commit | 6057ba1f97ea19c484b03d5dd2f431e7767fefd1 (patch) | |
tree | ff9050c2a01c8d480a583dedc083cdb44dea728a | |
parent | badc709847379cf27785af2d4c1a05c4e27010c2 (diff) | |
download | cpython-6057ba1f97ea19c484b03d5dd2f431e7767fefd1.zip cpython-6057ba1f97ea19c484b03d5dd2f431e7767fefd1.tar.gz cpython-6057ba1f97ea19c484b03d5dd2f431e7767fefd1.tar.bz2 |
Fix Issue8656 - urllib2 mangles file://-scheme URLs
-rw-r--r-- | Lib/test/test_urllib2.py | 3 | ||||
-rw-r--r-- | Lib/urllib2.py | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index 01a06fb..9364b3d 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -679,7 +679,7 @@ class HandlerTests(unittest.TestCase): try: data = r.read() headers = r.info() - newurl = r.geturl() + respurl = r.geturl() finally: r.close() stats = os.stat(TESTFN) @@ -690,6 +690,7 @@ class HandlerTests(unittest.TestCase): self.assertEqual(headers["Content-type"], "text/plain") self.assertEqual(headers["Content-length"], "13") self.assertEqual(headers["Last-modified"], modified) + self.assertEqual(respurl, url) for url in [ "file://localhost:80%s" % urlpath, diff --git a/Lib/urllib2.py b/Lib/urllib2.py index 122f777..84f7833 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -1291,7 +1291,7 @@ class FileHandler(BaseHandler): if not host or \ (not port and socket.gethostbyname(host) in self.get_names()): return addinfourl(open(localfile, 'rb'), - headers, 'file:'+file) + headers, 'file://'+ host + file) except OSError, msg: # urllib2 users shouldn't expect OSErrors coming from urlopen() raise URLError(msg) |