2017-02-13 8 views
1

Ich versuche, + in URL-Anfrage zu senden, aber es mit leerem Leerzeichen ersetzt.Pass + -Operator in requests.get-Methode

import urllib 

args = {"key": "+ 919191xxxx", "secret": "+ 98989"} 
url = "http://127.0.0.1:5000/data?{}".format(urllib.urlencode(args)) 

Jeder kann mir helfen, dies zu lösen?

+1

Das Ergebnis 'urllib.urlencode (args)' ist ' 'secret =% 2B + 98989 & key =% 2B + 919191xxxx''. '% 2B' ist der Code für' + '. Es gibt keinen leeren Platz –

+0

Wie sollte URL aussehen? –

+0

danke @EvansMurithi, können Sie mir bitte sagen, wie kann ich URLencode diese Zeichenfolge zu verdoppeln? –

Antwort

0

Die + wird nicht durch Leerzeichen ersetzt, aber mit %2B, die die Flucht von + ist.

Ihrer Ansicht Sie urllib.unquote können entkommt durch ihre äquivalente Zeichen zu ersetzen, wie so:

from urllib import unquote 

key = unquote(request.GET.get('key', '')) 
secret = unquote(request.GET.get('secret', ''))