如何在 Node.js 中获取未编码的查询参数

How to get unencoded Query Parameter in Node.js

我正在执行 Google Oath2 实施。对于特定的 authorization_code,我不断得到 invalid_grant。我检查了值,发现查询字符串值被编码了。

这是一个例子:

const parser = require('url');
url ='http://example.com/test?param=4%2F12'
const q = parser.parse(url, true).query
console.log(q)

我这里的输出是

{ param: '4/12' }

我希望我的输出是

{ param: '4%2F12' }

因为正确的授权码是一个字符串,值为 4%2F12。我该如何实施?可能有 许多手动方法可以做到这一点。任何需要简约代码工作的东西都将不胜感激。提前致谢!

简单。只需使用 encodeURIComponent.

再次对参数进行编码

示例:

console.log(encodeURIComponent("4/12")) // Output: 4%2F12