Odkoduj parametry URL

Rozmawiam z serwerem, który wysyłał mi ciągi HTTP w następujący sposób:

/path/to/my/handler/?action-query&id=112&type=vca&info=ch=0&type=event&ev16[sts=begin (...)

Parametr GET „info” zawierał znaki „=” i „&”. Było to raczej niekonwencjonalne, ale mimo to napisaliśmy dla niego parser. Jednak ostatnio zdecydowali się zakodować jego część, więc teraz łańcuch wygląda tak ..

/path/to/my/handler/?action=query&id=112&type=vca&info=ch%3D0%26type%3Devent%26ev46[sts%3Dbegin (...)

To zrywa nasz parser, który oczekuje ciągu takiego jak pierwszy.

Czy mogę jakoś „zdekodować” ciąg, dzięki czemu mogę użyć starego kodu (aby nie został przerwany podczas ponownego zapisywania parsera)?

Zgodnie z odpowiedzią poniżej, możemy użyć urllib.unquote (), aby wyczyścić ciąg. Opieramy się jednak na request.GET, który jest konfigurowany na podstawie pierwszego ciągu. Czy można zrekonstruować obiekt GET na podstawie nowego przekonwertowanego ciągu lub w jakiś sposób zmusić go do ponownej oceny?

questionAnswers(1)

yourAnswerToTheQuestion