【发布时间】:2011-03-14 23:02:13
【问题描述】:
我正在使用 Python 2.7.1 访问在线网站。我需要加载一个 URL,然后向该 URL 提交一个 POST 请求,导致网站重定向到一个新的 URL。然后我想将一些数据发布到新的 URL。这很容易做到,只是相关网站不允许用户使用浏览器导航。 (例如,您不能只输入新页面的 URL 或按返回按钮,您必须通过单击网站上的“下一步”按钮到达那里)。因此,当我尝试这个时:
import urllib, urllib2, cookielib
url = "http://www.example.com/"
jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data_login = "POSTDATA"
form_data_try = "POSTDATA2"
resp = opener.open(url, form_data_login)
resp2 = opener.open(resp.geturl(), form_data_try)
print resp2.read()
我从 resp2 的网站收到“请勿使用浏览器上的后退按钮”消息。有什么方法可以将数据发布到网站响应给我?提前致谢!
编辑:我会研究 Mechanize,谢谢你的指点。不过,目前有没有办法只用 Python 来做到这一点?
【问题讨论】: