我有一个服务可以生成S3预先签名的PUT URL以供上传。
在测试过程中,我注意到Postman只要点击"漂亮"中的网址就没有问题上传到预先签名的网址。模式。这会将URL放在地址栏中。
但是当我复制原始输出时,每次都会有403次。
AWS S3是否需要&用&?
编辑:更新以显示如何使用Node / Express / AWS API获取预签名的URL
router.get('/', function (req, res) {
var s3 = new AWS.S3();
var params = {Bucket: 'some-s3-bucket', Key: 'test/'};
s3.getSignedUrl('putObject', params, function (err, url) {
res.json({url: url});
});
});
答案 0 :(得分:0)
不,您不应该在S3签名网址的查询字符串分隔符中对&
→&
进行html编码。
听起来你的服务正在生成网址,或者它或链中的某些东西是不正确的html编码它们,运气好的话,邮递员或浏览器会在你查看它们时再次清理它们# 34;漂亮"模式。
如果您故意这样做,那么请不要......但如果您不清楚虚假编码的来源,请切换到基于文本的工具与您的服务进行通信 - - 比如curl或wget - 可能会让你更接近理解发生了什么,而不是基于浏览器的工具。