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

如何在Jenkins Pipeline/Groovy POST请求中设置x-www-form-urlencoded请求体?

问题分析与解决方案

核心问题是请求体格式与Content-Type不匹配:

  • 你指定了Content-type: application/x-www-form-urlencoded,但传入的请求体是JSON格式字符串{"1":"ab","2":"cd"}
  • 服务器仅接受符合x-www-form-urlencoded规范的键值对数据(格式为key1=value1&key2=value2),无法识别JSON格式的请求体,因此返回错误HTML页面

修正后的Groovy代码

将请求体改为x-www-form-urlencoded格式的字符串,同时修正Groovy映射语法的错误(把body =body改为body: body):

def body = '1=ab&2=cd'
def response = httpRequest(
    httpMode: 'POST',
    url: "https://***/xyz",
    customHeaders: [[name: "Content-type", value: "application/x-www-form-urlencoded"]],
    body: body
)

补充说明

Postman中选择x-www-form-urlencoded类型时,工具会自动将你输入的键值对转换成key=value&...的格式发送,这也是你能得到正确响应的原因。而你的原代码直接传入JSON字符串,不符合该Content-Type的格式要求,导致服务器拒绝识别请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:40:30