我正在尝试在 Python 脚本中进行一些自动化操作,但遇到了问题。我正在尝试对服务器进行 POST。
url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}
f = urllib.urlopen(url, urllib.urlencode(params))
print f.read()
我已经对等效的浏览器操作进行了wireshark 捕获,其中第二个参数arg1
作为 传递+value
,但是当我使用Python 执行此操作时,它+
会更改为%2B
,即
Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=%2Bvalue
什么时候应该:
Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=+value
我也使用了 Requests 模块,它似乎做同样的事情。
url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}
f = requests.post(url, params)
当您遇到与“+”相关的问题时,Google 不是您的朋友,因为它似乎是其他很多事情的全部。