Python urllib2发送帖子

时间:2011-08-22 18:50:47

标签: python post urllib2

我想打开一个页面,然后找到一个数字并乘以另一个随机数,然后将其提交到页面那么我正在做的是将页面保存为html,然后找到2个数字乘以它然后将其发送为一篇文章,但

post = urllib.urlencode({'answer': goal, 'submit': 'Submit+Answer'})
req2 = urllib2.Request("example", None, headers)
response = urllib2.urlopen(req, post) #this causes it not to work it opens the page a second time

这使得它第二次连接,因此发送的随机数是错误的,因为它创建了一个新的随机数,那么我如何发送一个帖子请求到我已经打开的页面而不重新打开它?

2 个答案:

答案 0 :(得分:4)

您可能希望使用类似mechanize的内容,它可以在Python中启用有状态的Web浏览。您可以使用它来加载URL,从页面读取值,执行乘法,将该数字放在页面上的表单中,然后提交它。

这听起来像你想要做的吗? This page提供了有关如何使用mechanize填写表单的一些信息。

答案 1 :(得分:0)

我不相信urllib支持保持连接打开,如described here

看起来您必须使用您的帖子发送对原始计算的引用。或者在答案的同时发回数据,这样服务器就可以通过某种方式将问题与答案进行匹配。