This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: urlopen doesn't handle query strings with "file" scheme
Type: behavior Stage:
Components: Versions:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: liZe, xtreak
Priority: normal Keywords:

Created on 2018-09-16 08:18 by liZe, last changed 2022-04-11 14:59 by admin.

Messages (1)
msg325475 - (view) Author: Guillaume Ayoub (liZe) Date: 2018-09-16 08:18
urlopen includes query strings in the filename with "file"-scheme URLs.

>>> from urllib.request import urlopen
>>> urlopen('file:///tmp/test')
<addinfourl at 140059890562888 whose fp = <_io.BufferedReader name='/tmp/test'>>
>>> urlopen('file:///tmp/test?q')
Traceback (most recent call last):
  File "/usr/lib/python3.7/urllib/request.py", line 1473, in open_local_file
    stats = os.stat(localfile)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/test?q'

This behavior seems to be OK with what RFC 8089 tells, but many other implementations (including browsers and curl) remove query strings from the filename.
History
Date User Action Args
2022-04-11 14:59:06adminsetgithub: 78883
2018-09-18 12:37:24xtreaksetnosy: + xtreak
2018-09-16 08:18:19liZecreate