Python urlencode 不对特殊字符进行编码
Python urlencode don't encode special characters
我正在形成一个 post 请求。
mydict = {'key1': 'value@1', 'key2': 'value@2'}
encoded_dict = urllib.urlencode(mydict)
这将导致
key1=value%401&key2=value%402
我真正想要的是
key1=value@1&key2=value@2
还有其他方法吗?
如果您想做自己的事,就必须编写自己的编码器。例如:
mydict = {'key1': 'value@1', 'key2': 'value@2'}
>>> "&".join("{}={}".format(*i) for i in mydict.items())
'key2=value@2&key1=value@1'
但为什么不直接使用 JSON?
我正在形成一个 post 请求。
mydict = {'key1': 'value@1', 'key2': 'value@2'}
encoded_dict = urllib.urlencode(mydict)
这将导致
key1=value%401&key2=value%402
我真正想要的是
key1=value@1&key2=value@2
还有其他方法吗?
如果您想做自己的事,就必须编写自己的编码器。例如:
mydict = {'key1': 'value@1', 'key2': 'value@2'}
>>> "&".join("{}={}".format(*i) for i in mydict.items())
'key2=value@2&key1=value@1'
但为什么不直接使用 JSON?