diff options
author | Senthil Kumaran <orsenthil@gmail.com> | 2009-12-27 10:13:39 (GMT) |
---|---|---|
committer | Senthil Kumaran <orsenthil@gmail.com> | 2009-12-27 10:13:39 (GMT) |
commit | 99b2c8f811a2afcd129ac82625e876c7e3731c04 (patch) | |
tree | 60167919e0655994e6dd4b8b0a7bce5f0c8d7413 | |
parent | 54ad07e9997be3af9f8833823c67d6541e787cfc (diff) | |
download | cpython-99b2c8f811a2afcd129ac82625e876c7e3731c04.zip cpython-99b2c8f811a2afcd129ac82625e876c7e3731c04.tar.gz cpython-99b2c8f811a2afcd129ac82625e876c7e3731c04.tar.bz2 |
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.
........
-rw-r--r-- | Lib/urllib/request.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py index 82a61ee..9332aa5 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 @@ -1688,7 +1689,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 @@ -1998,10 +1999,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 |