我可以在我的帐户中为存储桶创建一个Amazon S3签名URL,我可以通过Amazon AWS CLI下载并上传该存储桶.
我创建了Amazon S3 URL,如下所示:
from boto.s3.connection import S3Connection key = os.environ['aws_access_key_id'] secret = os.environ['aws_secret_access_key'] c = S3Connection(key,secret,is_secure=False) bucket = c.get_bucket('my-bucket') bktkey = bucket.get_key('stuff.tar.gz') seconds=60*60*12 url2 = bktkey.generate_url(expires_in=seconds) print '%s' %url2
url2
在Chrome中使用并复制粘贴它,我下载了stuff.tar.gz.
但是当我像这样使用Wget时
wget
我得到以下异常,
HTTP request sent, awaiting response... 403 Forbidden 2015-12-04 20:48:57 ERROR 403: Forbidden.
为什么Wget在Chrome和Firefox使用签名的Amazon S3 URL成功下载的地方失败了?
我遇到过同样的问题.修复是使用引号:
wget -O test.tar.gz "https://bucket.s3.amazonaws.com/app1/10/10.2/test.tar.gz?Signature=hgbdhjJHGK&Expires=1454446963&AWSAccessKeyId=AAAAAAAAA"