我不确定这样的事情是否可能,但我试图使用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条答案
按热度按时间bjp0bcyl1#
如果真有那么简单,你会看到很多机器人攻击每一个登录表单。
该URL显然不接受POST请求。这并不意味着提交按钮正在POST到该页面(尽管单击该按钮也会出现相同的错误...)
您需要打开chrome / Firefox开发工具并观察请求,以了解表单提交时发生了什么,并在Python中复制数据。
另一个选项是
mechanize
或Seleniumwebdriver库,用于模拟浏览器并填写表单3ks5zfa02#
params
用于查询参数。您可以使用data
(用于表单编码体)或json
(用于JSON体)。owfi6suc3#
我认为URL应该是' http://lambdaschool.com/contact-form '。