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

如何正确使用encodeURIComponent处理请求Header编码?

请求Header编码错误导致接口访问失败

工作中需要使用encodeURIComponent处理请求Header,但编码结构不正确,导致接口访问失败。我编写了处理函数但未生效,以下是相关代码:

const BASE_URL = "";

function encodeHeaders(headers) {
  let encodedHeaders = "";

  for (const key in headers) {
    encodedHeaders += encodeURIComponent(key + ": " + headers[key]) + "%0A";
  }

  return encodedHeaders;
}

const headers = {
  Connection: "close",
  "Content-Type": "application/json",
  "X-EES-AUTH-CLIENT-ID": "o75j23m4c2m3e411sb7z",
  "X-EES-AUTH-HASH":
    "e782225331d2839774aac84eab2762a9c8059cfc7433af8f178138ab426fbfbf",
  accept: "application/json"
};

const requestData = {
  code: "ee",
  branch: "119",
  till: "7",
  serial: "912347",
  url: "https://resources.sandbox",
  method: "GET",
  header: encodeHeaders(headers)
};

/**
 * 实际业务中的调用示例
 */
function getTestService() {
  return axios
    .post(BASE_URL, requestData, {
      headers: {
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
      }
    })
    .then((response) => {
      return response.data;
    });
}

实际输出与期望输出对比

实际输出(编码前后)

header: Connection%3A%20close%0AContent-Type%3A%20application%2Fjson%0AX-EES-AUTH-CLIENT-ID%3A%20o75j23m4c2m3e411sb7z%0AX-EES-AUTH-HASH%3A%20e782225331d2839774aac84eab2762a9c8059cfc7433af8f178138ab426fbfbf%0Aaccept%3A%20application%2Fjson%0A

Connection%253A%2520close%250AContent-Type%253A%2520application%252Fjson%250AX-EES-AUTH-CLIENT-ID%253A%2520o75j23m4c2m3e411sb7z%250AX-EES-AUTH-HASH%253A%2520e782225331d2839774aac84eab2762a9c8059cfc7433af8f178138ab426fbfbf%250Aaccept%253A%2520application%252Fjson%250A

期望输出(编码前后)

header: Connection: close
Content-Type: application/json
X-EES-AUTH-CLIENT-ID: o75j23m4c2m3e411sb7z
X-EES-AUTH-HASH: e782225331d2839774aac84eab2762a9c8059cfc7433af8f178138ab426fbfbf
accept: application/json

Connection%3A+close%0AContent-Type%3A+application%2Fjson%0AX-EES-AUTH-CLIENT-ID%3A+o75j23m4c2m3e411sb7z%0AX-EES-AUTH-HASH%3A+e782225331d2839774aac84eab2762a9c8059cfc7433af8f178138ab426fbfbf%0Aaccept%3A+application%2Fjson

编码前后的Header结构存在明显差异,请求帮忙排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:41:01