使用POST请求提交联系表单(requests& python3)

时间:2017-02-07 13:32:08

标签: python python-3.x python-requests

我不确定这样的事情是否可行,但我尝试使用POST请求提交给https://lambdaschool.com/contact这样的表单。

我目前有以下内容:

import requests

payload = {"name":"MyName","lastname":"MyLast","email":"someemail@gmail.com","message":"My message"}

r = requests.post('http://lambdaschool.com/contact',params=payload)

print(r.text)

但是我收到以下错误:

<title>405 Method Not Allowed</title>

是否可以使用POST请求提交?

3 个答案:

答案 0 :(得分:2)

如果它很简单,你会看到很多机器人攻击每一个登录表单。

该网址显然不接受POST请求。这并不意味着提交按钮正在POST到该页面(虽然点击按钮也会出现同样的错误......)

您需要打开chrome / Firefox开发工具并观察请求以查看表单提交时发生的情况并在Python中复制该数据。

另一个选项是mechanize或Selenium webdriver库来模拟浏览器并填写表单

答案 1 :(得分:1)

params用于查询参数。对于表单编码正文,您需要data,对于JSON正文,您需要json

答案 2 :(得分:1)

我认为网址应该是&#39; http://lambdaschool.com/contact-form&#39;。