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

如何使用Python与Flask框架接收Jotform提交的表单数据

Python + Flask 接收Jotform Webhook推送实现方案

前置依赖安装

首先安装Flask框架,直接执行命令:
pip install flask

完整可运行代码

from flask import Flask, request
import json

app = Flask(__name__)

# 建议给webhook路径加随机字符串后缀,避免被恶意扫描探测
RECEIVE_ROUTE = "/jotform/hook/7f9d2x8z"

@app.route(RECEIVE_ROUTE, methods=["POST"])
def handle_jotform_submit():
    try:
        # Jotform默认以form-data格式推送提交数据
        form_submit = request.form.to_dict()

        # 如果后台配置了推送原始JSON格式,替换为下面的解析代码
        # form_submit = request.get_json(force=True)

        # 以下位置编写自定义业务逻辑
        # 例如数据落库、统计分析、触发消息通知等
        print("收到表单提交数据:\n", json.dumps(form_submit, ensure_ascii=False, indent=2))

        # 必须返回200状态码,否则Jotform会判定推送失败,触发多次重试
        return {"code": 0, "msg": "ok"}, 200
    except Exception as e:
        print(f"处理提交数据异常:{str(e)}")
        return {"code": -1, "msg": str(e)}, 500

if __name__ == "__main__":
    # 本地调试运行配置,生产环境请替换为gunicorn等WSGI服务部署
    app.run(host="0.0.0.0", port=8000, debug=False)

配置注意事项

  • Jotform后台配置Webhook时,需填入服务的公网可访问完整地址,格式为https://你的服务域名/jotform/hook/7f9d2x8z
  • 本地调试无公网IP时,可使用内网穿透工具临时映射本地端口,验证接收逻辑
  • 配置完成后可直接用平台自带的测试发送功能,验证接口连通性
  • 若表单包含文件上传字段,推送数据中会直接携带文件的可访问链接,无需额外解析二进制上传流

常见问题处理

  • 重复推送:如果接口未返回200状态码,Jotform会在24小时内多次重试推送同一条记录,业务侧可使用数据中携带的submission_id做幂等去重,避免重复处理
  • 请求伪造:路径后缀的随机字符串可作为简易身份校验,安全要求更高的场景可额外结合请求来源IP白名单做拦截
  • 乱码问题:解析中文等非ASCII内容时,确保代码中统一使用UTF-8编码处理即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:48:45