使用POST将数据提交到网站

时间:2014-03-14 19:55:43

标签: python html forms post

我正在使用一个使用简单CAPTCHA的网站,我正在尝试将数据提交到CAPTCHA的输入字段,然后查看响应是什么。最后,我打算尝试看看我是否可以进行Padding Oracle攻击。经过一些挖掘网站的来源,我相当确定我需要处理的形式中的行是:

<input type="text" name="login_captcha" size="12" maxlength="6" />&nbsp; &nbsp;  </p>

所以我对StackOverflow进行了一些挖掘,以了解如何做到这一点,到目前为止我已经做过:

Send = "The data I want to submit"
url = 'www.website.com'
values = {'login_captcha' : Send}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
print the_page

但它似乎不起作用。到目前为止,我所阅读的所有内容似乎都说这是做到这一点的方法,但它似乎并没有做任何事情。这里看起来有什么不合适的吗?

3 个答案:

答案 0 :(得分:0)

首先 - 您要提交表单,请验证您的网址。 在问题上它似乎是域名的网址,而不是形式的网址(动作参数)

secend optional - 您的网站可以检测到您的代码不是浏览器, 但你可以欺骗它 - 只需设置用户代理,推荐人或有时候的cookie

第三:使用curl等工具自行调试。

上面的代码是正确的。但请记住编码(网址和数据)。

答案 1 :(得分:0)

你的意思是什么不起作用?这甚至不在我的Python 2.7

中运行
url = 'www.website.com'

因此,在您的网址上添加http://即可。

url = 'http://www.website.com'

答案 2 :(得分:0)

我尝试了只更改URL和参数的代码,以便使用生产中的系统对其进行测试,并且ti工作没有任何问题。 您应该检查网址是否正确,因为这只是一个域。另外,检查服务器上的脚本是否可以读取/回答POST方法发送的请求。