我不确定这样的事情是否可行,但我尝试使用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请求提交?
答案 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;。