[New-bugs-announce] [issue21970] Broken code for handling file://host in urllib.request.FileHandler.file_open
report at bugs.python.org
Sun Jul 13 03:49:21 CEST 2014
New submission from Martin Panter:
This isn’t a particularly important problem for me but when reading the code I noticed some bit rot in this function, where a host name in a “file:” URL would be handled differently than intended.
* The url[:2] == '//' check is probably wrong because it is comparing the URL’s path component (selector), not the prefix for a host name. Compare urlopen("file://host//") and urlopen("file://host/") error messages.
* The req.host is self.get_names() should probably use “in”, not “is”. The code author presumably expected urlopen("file://127.0.0.1//dev/null") to work.
* Also it seems odd that urlopen("file://remote/missing") immediately reports “No such file”, while urlopen("file://remote/") blocks for a host name lookup and then reports “not on local host”.
components: Library (Lib)
title: Broken code for handling file://host in urllib.request.FileHandler.file_open
versions: Python 3.4
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce