August 2018
Intermediate to advanced
366 pages
10h 14m
English
Nowadays, the URIs also support parameters to be provided at each path segment. Those are very rarely used in practice, but if your code is expected to receive those kind of URIs, then you should not rely on urllib.parse.urlparse because it tries to parse the parameters from the URL, which is not properly supported for those URIs:
>>> url = 'http://user:pwd@host.com:80/root;para1/subpath;para2?arg1=val1#fragment'
>>> result = urllib.parse.urlparse(url)
>>> print(result)
ParseResult(scheme='http', netloc='user:pwd@host.com:80',
path='/root;para1/subpath',
params='para2',
query='arg1=val1',
fragment='fragment')
You might have noticed that parameters for the last part of the path were properly parsed in params, but the parameters ...