我必须提交到服务器的网址如下所示:
www.mysite.com/manager.php?checkbox%5B%5D=5&checkbox%5B%5D=4&checkbox%5B%5D=57&self=19&submit=Go%21
帖子数据我是这样写的:
data = {'checkbox%5B%5D': '4', ....and so on... 'self': '19', 'submit': 'Go%21'}
我对其进行编码:
data = urllib.urlencode(orbs)
这就是我运行它的方式:
resp = mechanize.Request('http://mysite.com/manager.php', data)
cj.add_cookie_header(resp)
res = mechanize.urlopen(resp)
print res.read()
错误提示:我没有选择任何项目。
因为我有嵌套表单,所以在不使用 br.select_form(nr=0) 的情况下如何正确执行此操作?
谢谢。
url 编码是将字符串(即“[]”)更改为百分比编码字符串(即“%5B%5D”)的过程,而 url 解码是相反的操作。所以:
checkbox%5B%5D=5&checkbox%5B%5D=4&checkbox%5B%5D=57&self=19&submit=Go%21
解码后是:
checkbox[]=5&checkbox[]=4&checkbox[]=57&self=19&submit=Go!
在您的代码中,您实际上正在编码一个已经编码的网址:
data = {'checkbox%5B%5D': '4', ....and so on... 'self': '19', 'submit': 'Go%21'}
data = urllib.urlencode(orbs)
相反,使用解码后的数据并将其传递给 urlencode:
data = {'checkbox[]': '4', ....and so on... 'self': '19', 'submit': 'Go!'}
data = urllib.urlencode(orbs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)