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

如何使用RestClient将哈希数据以form-data格式发送至Flask接口

问题原因

你当前的写法存在2个核心错误,导致服务端无法正常解析表单参数:

  1. payload多嵌套了一层data字段,导致所有表单参数都被包裹在data节点下
  2. multipart参数位置错误,且手动指定了无boundary的multipart/form-data头部,破坏了表单格式的自动生成

正确代码示例

RestClient::Request.execute(
    method: :post,
    url: url,
    # multipart参数与method、url平级,标识使用form-data格式
    multipart: true,
    # 表单字段直接放在payload第一层,不要额外嵌套
    payload: {
      "user": "test",
      "phase": "test",
      "job_id": "test"
    },
    headers: { 
      Authorization: 'Basic ' + Base64.encode64(auth_details)
      # 不需要手动指定Content-Type,RestClient会自动生成带boundary的合法multipart头部
    }
  )

附加说明

如果你的接口不需要上传文件,只是传输纯文本表单参数,也可以直接使用默认的application/x-www-form-urlencoded格式,写法更简洁,同样能被Flask的request.form正常读取:

RestClient.post(
  url,
  { user: "test", phase: "test", job_id: "test" },
  { Authorization: 'Basic ' + Base64.encode64(auth_details) }
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:15:06