Node.js | WHATWG URL 查询参数键解析 - 如何不解析?

Node.js | WHATWG URL Query Parameter Key Parsing - How to Have It Not Parsed?

我正在使用 WHATWG API for URLs in Node.js (v10.x)

我有一个 URL 查询参数,它有一个应该有 [] 的键。 当它们包含在它们的键中时,如下所示:

// creates new URLSearchParams, and adds them to an existing URL

myURL //existing `URL` object

let search_params = new URLSearchParams({
    companies[0]: <my_value_here>
});
myURL.search = search_params.toString();

然后myURL.href包括这个查询参数键值对 companies%5B0%5D=<my_value_here>

我想要密钥未 URL 编码。有没有办法专门防止 key/those 字符的编码,或者 URL-解码密钥? 我更喜欢禁用该键的编码(最好是任何所需的键和值,也可能)。

这是针对 LinkedIn 的营销分析 API,如果有人对此有经验的话。

当您传递编码的 [] 字符时,API 是否真的中断了?如果是这样,那是 API 中的一个错误,它确实应该由 LinkedIn 修复,而不是由你解决。

也就是说,您可以手动解码那些特定字符。

myURL.search = search_params.toString();
const myURLHackForLinkedIn = myURL.toString().replace(/%5B0%5D/g, "[]");

如果浏览器在您通过 HTTP 传递它们时在幕后重新编码它们,我不会感到惊讶。