2017-02-13 82 views
1

我正在尝试在URL请求中发送+,但它被替换为空白空间。在requests.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,你能告诉我如何将URLencode这个字符串加倍吗? –

回答

0

+不是被空间替换,而是%2B这是+的转义。

在您看来,您可以使用urllib.unquote通过其相应的字符,像这样以取代逃逸:

from urllib import unquote 

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