如何将给定HTML POST表单请求转换为对应的Python实现代码
HTML表单转Python POST请求实现方案
对应原始HTML表单代码:
<form action="http://127.0.0.1:8000/card/0" method="POST"> <input type="hidden" name="amount" value="8000" /> <input type="hidden" name="username" value="hacker" /> <input type="submit" value="View my photos" /> </form>
基础实现(基于requests库)
首先安装依赖:pip install requests
实现代码:
import requests # 目标接口地址 target_url = "http://127.0.0.1:8000/card/0" # 构造表单提交参数 post_data = { "amount": "8000", "username": "hacker" } # 发送POST请求 resp = requests.post(target_url, data=post_data) # 输出请求结果用于验证 print(f"状态码:{resp.status_code}") print(f"返回内容:{resp.text}")
进阶配置(模拟浏览器请求)
如果需要规避服务端的脚本请求检测,可以添加请求头、Cookie等参数:
import requests target_url = "http://127.0.0.1:8000/card/0" post_data = { "amount": "8000", "username": "hacker" } # 模拟浏览器请求头 headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36", "Referer": "http://127.0.0.1:8000/" } # 如有需要可以添加Cookie cookies = { "sessionid": "你的会话ID值" } resp = requests.post(target_url, data=post_data, headers=headers, cookies=cookies) print(f"状态码:{resp.status_code}") print(f"返回内容:{resp.text}")
注意事项
- 所有测试操作需在获得目标服务器正式授权的前提下开展,严格遵守网络安全相关法律法规
- 如果需要维持会话状态,可以使用
requests.Session()实例发送请求,自动管理Cookie - 若接口返回302重定向,可以通过
allow_redirects=True参数设置是否自动跟随重定向
内容的提问来源于stack exchange,提问作者Wilderness Oberman
相关产品推荐
相关产品推荐

