Próbuję wykonać trochę automatyzacji w skrypcie w języku Python i wystąpił problem. Próbuję wykonać POST na serwerze.Przekazywanie znaku "+" w żądaniu POST w języku Python
url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}
f = urllib.urlopen(url, urllib.urlencode(params))
print f.read()
Zrobiłem zrzut wireshark równoważnej pracy przeglądarki, gdzie drugi Arg, arg1
jest przekazywana jako +value
, jednak kiedy robię to z Python +
zostaje zmieniona na %2B
, tj
Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=%2Bvalue
gdy powinno być:
Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=+value
mam również używany moduł wnioski i wydaje s zrobić to samo.
url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}
f = requests.post(url, params)
Google nie jest twoim przyjacielem, gdy masz problem związany z "+", ponieważ wydaje się, że jest to haczyk dla tak wielu innych rzeczy.
jakiej wersji zgłoszeń używasz? – root
Zrobiłem instalację pip dziś żądania - 0.14.0 –
"Google nie jest twoim przyjacielem, gdy masz problem związany z" + "" - Do wyszukiwania znaków specjalnych, istnieją specjalne wyszukiwarki, takie jak http://symbolhound.com/ – l4mpi