2017-02-13 3 views
1

Я пытаюсь отправить + в запросе URL, но он заменен пустым пространством.Pass + operator в методе request.get

import urllib 

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

Любой может помочь мне решить эту проблему?

+1

Результат 'urllib.urlencode (арг)' это ' 'секрет =% 2B + 98989 & ключ =% 2B + 919191xxxx''. '% 2B' - это код для' + '. Нет пустого места –

+0

Как должен выглядеть URL-адрес? –

+0

спасибо @EvansMurithi, не могли бы вы рассказать мне, как я могу удвоить URL-адрес этой строки? –

ответ

0

+ не заменяется пробелом, а %2B, который является побегом +.

По вашему мнению, вы можете использовать urllib.unquote для замены побегов их эквивалентного характера, как так:

from urllib import unquote 

key = unquote(request.GET.get('key', '')) 
secret = unquote(request.GET.get('secret', '')) 
Смежные вопросы