summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2009-12-27 10:13:39 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2009-12-27 10:13:39 (GMT)
commit99b2c8f811a2afcd129ac82625e876c7e3731c04 (patch)
tree60167919e0655994e6dd4b8b0a7bce5f0c8d7413
parent54ad07e9997be3af9f8833823c67d6541e787cfc (diff)
downloadcpython-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.py11
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