python - 有没有办法在不启动浏览器的情况下提交 HTML 表单?
问题描述
我正在尝试在不启动浏览器的情况下提交 HTML 表单。
这是代码。
import requests
r = requests.get('https://www.isi.uu.nl/Research/Databases/DRIVE/download.php')
r.content.decode('UTF-8')
这给了我一堆 HTML,其中包含一个链接
<form enctype="multipart/form-data" action="process_download.php" method="post">\r\n <P>Please enter your e-mail address: <input type="text" name="usermail"/><input type="submit" value="Send mail" /></P>\r\n</form>
有没有办法在不启动 Python 浏览器的情况下填写内容并提交此表单?
该计划的整个过程将是,
- 将请求设置为 URL。
- 保持会话
- 填写一些内容并自动提交表单,而无需启动浏览器。
解决方案
提交表单只是一个 HTTP POST 请求。因此,您可以创建一个发布请求,其中请求的主体是usermail=username@example.com
,内容类型是application/x-www-form-urlencoded
这相当于从浏览器提交表单。如果表单中有多个值要提交,那么它们&
就像 GET 请求的查询参数一样被分隔。
推荐阅读
- python-3.x - ORA-12514 使用 EC2 中的 cx_Oracle 连接到 Oracle db 时出错
- dst - mktime() 在输入 DST 后立即返回不正确的值
- excel - 当页面中的内容与该行的内容不同时,如何能够查找/替换几页中某行上的任何内容?
- css - 从子组件样式化角度材料组件
- .net - 使用 SortSite Powermapper 时出现网站登录问题
- android - Android Studio 如何使用和连接 BigQuery 以在 Android Studio 中使用 Kotlin 从 Google Cloud Platform 检索数据?
- reactjs - 在传递给 createStore 的 preloadedState 参数中发现意外的键“componentDataDependencies”
- powershell - 使用 Powershell 获取远程计算机的操作系统名称
- javascript - face-api.js:实时网络摄像头识别问题
- java - 在 Jhipster Java Back 服务上更新查询后请求返回错误值