diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py index 85e54bff92c..e2d306fc289 100644 --- a/Lib/test/test_urllib.py +++ b/Lib/test/test_urllib.py @@ -277,7 +277,7 @@ Content-Type: text/html; charset=iso-8859-1 def test_file_notexists(self): fd, tmp_file = tempfile.mkstemp() - tmp_fileurl = 'file://' + tmp_file + tmp_fileurl = 'file://localhost' + tmp_file self.assertTrue(os.path.exists(tmp_file)) self.assertTrue(urlopen(tmp_fileurl)) diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py index f2ea9526390..2de3b99d9c6 100644 --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -1905,7 +1905,7 @@ class URLopener: return addinfourl(open(localname, 'rb'), headers, urlfile) host, port = splitport(host) if (not port - and socket.gethostbyname(host) in (localhost() + thishost())): + and socket.gethostbyname(host) in ((localhost(),) + thishost())): urlfile = file if file[:1] == '/': urlfile = 'file://' + file diff --git a/Misc/NEWS b/Misc/NEWS index fd82353e54f..47107b5ba4c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -59,6 +59,9 @@ Core and Builtins Library ------- +- Issue #16301: Fix the localhost verification in urllib/request.py for file:// + urls. + - Issue #16250: Fix the invocations of URLError which had misplaced filename attribute for exception.