Als je op een web pagina gegevens invult en op de submit knop drukt, wordt er een nieuwe dynamische
pagina aangemaakt op basis van de door jou verstrekte gegevens. Het versturen van de ingevulde gegevens
gebeurt heel vaak door het gebruik van een querystring. Als men bijvoorbeeld "tutorial python" in Google
ingeeft, wordt een URL lijkend op "https://www.google.be/?gfe_rd=cr&ei=iMkkWKvMI9Dv8AfyrqDQBQ#q=tutorial+python"
naar de server gestuurd.
Hierbij is het deel "https://www.google.be/
de locatie op het web
die gebruikt wordt om de vraag naar te sturen. Het deel na het "?"-teken, namelijk "gfe_rd=cr&ei=iMkkWKvMI9Dv8AfyrqDQBQ"
bestaat uit (sleutel, waarde)-paren, gescheiden door "&"-tekens. Sleutel en waarde van elk paar worden gescheiden
door een "="-teken. Ten slotte bevat het deel na het "#"-teken, namelijk $$\verb!"q=tutorial+python"!$$ de vraag
zelf (de query), waarbij spaties door "+"-tekens vervangen werden.
Schrijf een functie parse_query()
met als argument een string van het formaat zoals hierboven
weergegeven. Het resultaat is een woordenboek, dat volgende (sleutel, waarde)-paren bevat:
'locatie'
: de locatie van de server (in dit voorbeeld dus "https://www.google.be/
)
'query'
: het deel na de "q" in de querystring, waarbij alle "+"-tekens opnieuw door spaties vervangen werden (in dit
voorbeeld dus de tekst "tutorial python"
'args'
: een woordenboek dat alle (sleutel, waarde)-paren bevat in het deel na het "?"-teken (in
dit voorbeeld dus het woordenboek {gfe_rd:cr, ei:iMkkWKvMI9Dv8AfyrqDQBQ}
)
parse_query('https://www.google.be/?gfe_rd=cr&ei=iMkkWKvMI9Dv8AfyrqDQBQ#q=tutorial+python') = {'locatie': 'https://www.google.be/', 'query': 'tutorial python', 'args': {'ei': 'iMkkWKvMI9Dv8AfyrqDQBQ', 'gfe_rd': 'cr'}}