我在 Amazon S3 上托管文件,我想使用这些文件进行访问预签名网址 http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth.
对于简单的 GET 请求,这非常有效。然而,有些客户端首先执行 HEAD 请求(以检索文件大小)。由于 URL 中的签名包含 http 动词(GET 与 HEAD),因此 head 请求失败。
客户端只需执行以下操作:
HEAD http://(bucketname).s3.amazonaws.com/filename?AWSAccessKeyId=(mykey)&Expires=(timestamp)&Signature=(sig)
GET http://(bucketname).s3.amazonaws.com/filename?AWSAccessKeyId=(mykey)&Expires=(timestamp)&Signature=(sig)
我无法更改客户端以使用不同的 url 进行 head 和 get 操作。有没有办法让亚马逊使用接受同一资源的 HEAD 和 GET 的签名?
您还可以模拟HEAD
行为与GET
如果你指定Range
仅第一个字节的标头。不同之处在于您会收到206
代替200
代码。其次,全尺寸将在Content-Range
header.
curl -r 0-0 <URL>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)