【问题标题】:Encoding issue with superagent超级代理的编码问题
【发布时间】:2013-05-21 06:22:10
【问题描述】:
我正在尝试使用 superagent 执行 API 调用,但它对我的 api 密钥进行了编码,但被拒绝了。
get(url).query({ key: 'Fmjtd%7Cluu').end(function(err, res) {
密钥被发送为
Fmjtd%257Cluu
任何想法如何使用超级代理来防止这种情况?如果我将它作为“url”部分的一部分,那很好,但如果可能的话,我想将它作为查询数据传递。
【问题讨论】:
标签:
javascript
node.js
superagent
【解决方案1】:
我不熟悉 SuperAgent,但这里是我可以用来解决问题的选项。
转义键。试试 'Fmjtd\%7Cluu'
由于 SuperAgent 似乎正在应用“encodeURIComponent”来转换密钥以使其对 http 传输安全,因此您可以在传递它之前先“decodeURIComponent”它。但是,这很可能会破坏 SuperAgent(因为他们可能有充分的理由首先对 URI 组件进行编码)。
发送错误报告并让维护人员创建一个适当的修复程序,而不是我上面建议的黑客攻击