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

WSO2 API Manager 4.0中Content-Length Header配置与411错误解决

在WSO2 API Manager 4.0「Try Out」标签页测试带Content-Length的POST请求(解决411错误)

问题分析

411 Length Required错误的核心原因是:服务器收到的请求中,Content-Length头的值与实际请求体的字节数不匹配,或者请求包含体但未正确标识长度。结合你的场景,主要是Try Out配置时请求头与请求体的匹配问题。

具体配置与测试步骤

  1. 进入目标API的「Try Out」标签页,选中POST方法
  2. 填写请求URL:
    将http://apihostip/GetPut?TYPE=GET&CLA=STRK完整填入URL输入框,确保query参数TYPE=GET和CLA=STRK被正确携带
  3. 配置请求头:
    • 新增Content-Type头,值设为text/plain(因为你的请求体是自定义文本格式,需告知服务器内容类型)
    • 关键:不要手动添加Content-Length头,让APIM的Try Out组件自动计算并生成该头。手动输入的长度极易与实际请求体字节数不符,触发411错误
    • 若业务强制要求手动设置Content-Length,需准确计算请求体的字节数:将请求体内容复制到字节计算工具(或用echo -n "你的请求体内容" | wc -c命令在终端计算),确保包含所有换行符和空格的字节数
  4. 配置请求体:
    • 切换到「Body」标签,选择raw格式
    • 将以下内容完整粘贴到输入框(确保无遗漏或多余换行):
      :HEADER
      TABLE=VERSION
      VERSION
      STRING
      1.00
      TABLE=VALID_OPER
      SERIAL_NUM
      STRING
      ABCDEDF
      
    • 在格式下拉框中选择Text(对应之前设置的text/plain Content-Type)
  5. 点击「Try it out!」发起测试

额外排查点

  • 若仍出现411错误,检查APIM网关的拦截器配置,确认是否有强制校验Content-Length的自定义规则
  • 验证后端服务器是否接受Transfer-Encoding: chunked(若Swagger UI自动用chunked传输),部分老旧服务器可能仅支持Content-Length

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:10:28