如何用Python脚本向Web服务器提交表单字符串?排查404问题
问题解析与修复方案
导致404错误的核心原因
- 请求路径与方法不匹配:
服务器端表单的action="/get",且未指定method属性时,表单默认使用GET方法提交,但你的脚本用了requests.post,同时URL没有包含表单指定的/get路径,直接访问根路径自然返回404。 - 参数传递错误:
代码中query = {'input1': 'value'}是把字符串"value"作为参数值传递,而不是你定义的变量value,会导致提交的内容不符合预期。
修正后的完整脚本
import requests # 补充表单指定的/get路径 url = 'http://192.168._._/get' value = "string" # 使用变量value而非字面量'value' query_params = {'input1': value} # 用GET方法匹配表单默认提交方式 response = requests.get(url, params=query_params) print(response.text)
关于requests是否为最优方案
requests是Python处理HTTP请求的首选轻量化方案,API简洁直观,性能足够,完全适配你这种简单表单提交的场景。如果后续需要处理JavaScript渲染、复杂会话管理等场景,可以考虑selenium或playwright这类浏览器自动化工具,但当前需求用requests是最高效的选择。
扩展:如果服务器改为POST提交
如果后续服务器端表单修改为POST方法(添加method="post"属性),只需将脚本中的请求方法改为POST即可:
response = requests.post(url, data=query_params)
内容的提问来源于stack exchange,提问作者elvishpotato
相关产品推荐
相关产品推荐

