Bug report
Bug description:
urllib.request.url2pathname() incorrectly treats URL query (?a=b&c=d) and fragment (#anchor) components as part of the URL path
>>> from urllib.request import url2pathname
>>> url2pathname('file://localhost/etc/hosts?foo=bar#badgers', require_scheme=True)
'/etc/hosts?foo=bar#badgers' # expected '/etc/hosts'
I think they should be silently discarded as they have no bearing on the filesystem path (similar to how we discard the netloc if it's a local hostname).
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
Bug report
Bug description:
urllib.request.url2pathname()incorrectly treats URL query (?a=b&c=d) and fragment (#anchor) components as part of the URL pathI think they should be silently discarded as they have no bearing on the filesystem path (similar to how we discard the netloc if it's a local hostname).
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
url2pathname(): discard query and fragment components #136875url2pathname(): discard query and fragment components (GH-136875) #136942