From 88a495d223a1aa9ee409499651161d025847e9bc Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 27 Dec 2009 10:15:45 +0000 Subject: Merged revisions 77060 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r77060 | senthil.kumaran | 2009-12-27 15:43:39 +0530 (Sun, 27 Dec 2009) | 10 lines Merged revisions 77058 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r77058 | senthil.kumaran | 2009-12-27 14:41:09 +0530 (Sun, 27 Dec 2009) | 4 lines Fix for issue5625 - test_urllib2 fails - urlopen error file not on local host. This is on hosts with multiple ip addresses. ........ ................ --- Lib/urllib/request.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py index b12da69..8229764 100644 --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -1190,8 +1190,9 @@ class FileHandler(BaseHandler): def get_names(self): if FileHandler.names is None: try: - FileHandler.names = (socket.gethostbyname('localhost'), - socket.gethostbyname(socket.gethostname())) + FileHandler.names = tuple( + socket.gethostbyname_ex('localhost')[2] + + socket.gethostbyname_ex(socket.gethostname())[2]) except socket.gaierror: FileHandler.names = (socket.gethostbyname('localhost'),) return FileHandler.names @@ -1690,7 +1691,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 @@ -2000,10 +2001,10 @@ def localhost(): _thishost = None def thishost(): - """Return the IP address of the current host.""" + """Return the IP addresses of the current host.""" global _thishost if _thishost is None: - _thishost = socket.gethostbyname(socket.gethostname()) + _thishost = tuple(socket.gethostbyname_ex(socket.gethostname()[2])) return _thishost _ftperrors = None -- cgit v0.12