You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CURL发送field=value格式POST请求?Flask接口返回405错误

解决Flask POST请求返回405 Method Not Allowed的问题

问题原因

你的Flask路由@app.route('/test')默认仅允许GET请求,发送POST请求时服务器会返回405状态码,提示该URL不支持当前请求方法。

修复步骤

1. 修改Flask路由,开启POST方法支持

在路由装饰器中添加methods参数,明确指定允许POST请求:

@app.route('/test', methods=['POST'])
def test():
    msg = request.form['msg']
    return msg

如果需要同时支持GET和POST请求,可调整为:

@app.route('/test', methods=['GET', 'POST'])
def test():
    msg = request.form['msg']
    return msg

2. 修正curl命令的参数格式

你的curl命令中'msg = test'包含空格,会导致请求的键变为msg (带空格),后端无法通过request.form['msg']获取值。需要去掉空格:

  • 使用-d发送普通表单数据:
curl -X POST -d 'msg=test' 127.0.0.1:5000/test
  • 使用-F发送multipart类型表单数据:
curl -X POST -F 'msg=test' 127.0.0.1:5000/test

内容的提问来源于stack exchange,提问作者xy01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:45:41