3 javascript amazon-s3 amazon-web-services node.js cloud-storage
node s3_listbuckets.js
Error TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Authorization"]
at ClientRequest.setHeader (_http_outgoing.js:470:3)
at new ClientRequest (_http_client.js:219:14)
at Object.request (https.js:305:10)
at features.constructor.handleRequest
...
XXX
...
{
message: 'Invalid character in header content ["Authorization"]',
code: 'NetworkingError',
region: 'XXX',
hostname: 's3.XXX.amazonaws.com',
retryable: true,
time: XXX
}
Run Code Online (Sandbox Code Playgroud)
对于任何敢于走这条路的人。如果您收到此错误,则 99.9% 是由所提供的 AWS 凭证中的拼写错误引起的。可能是额外的,也可能只是字符串末尾的\\n空格或丢失的字符。 但如果你像我一样聪明,那么你的打字错误可能会像这样难以捉摸:
我在谷歌上搜索了“regions aws code”,这样我就可以获得我们东部地区的正确代码。Google 提供了一个包含代码列表的表格,因此我将其复制并粘贴到我的凭据中,但我不断遇到此Invalid character...问题。
直到我从同事那里得到凭据文件时,错误才消失。于是我逐行比较,发现字符完全没有区别……但是我错了。我从配置中获取了区域代码并将其放入Unicode 转换器中中,并发现了这一点:
\nus\xe2\x80\x91east\xe2\x80\x911翻译为us\\u{2011}east\\u{2011}1
然而
\nus-east-1翻译为us-east-1
你能猜出我从谷歌复制了哪个版本吗?...我已经吸取了教训,我希望任何在这里冒险的人都不会犯我所犯的错误。
\n| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |