[issue20116] urlparse.parse_qs should take argument for query separator

nr report at bugs.python.org
Sun Feb 17 12:44:38 EST 2019


nr <aktiophi at googlemail.com> added the comment:

W3C allows both constructs, ampersand and semicolon.
https://www.w3.org/TR/html401/appendix/notes.html#h-B.2.2

Especially servlet containers and servers running CGI programs often use semicolons as a separator.

I would say to parse either ampersands OR semicolons and keep a priority to ampersands.

For example the query strings:

?fields=id&query=%22((release%3D{id%3D1004});(sprint%3D{id%3D1040});(team%3D{id%3D1004});(severity%3D{id%3D%27list_node.severity.urgent%27});!phase%3D{id+IN+%27phase.defect.closed%27,%27phase.defect.duplicate%27,%27phase.defect.rejected%27})%22

?fruits=lemon;lime&family=citrus

should be parsed with & separators only.

The modified example without & character:
?fruits=lemon;family=citrus

can be parsed with semicolon as a separator because it contains both '=' and ';' but no '&' characters.

----------
nosy: +nr

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue20116>
_______________________________________


More information about the Python-bugs-list mailing list