首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >wget使用安全连接下载文件

wget使用安全连接下载文件
EN

Stack Overflow用户
提问于 2014-05-04 04:42:37
回答 1查看 2.4K关注 0票数 0

我想大量下载视频文件从亚马逊使用wget。我为单个文件使用的代码:

代码语言:javascript
运行
AI代码解释
复制
wget \
--no-check-certificate \ 
--no-proxy \
--post-data "AWSAccessKeyId=XXX&Expires=XXX&Signature=XXX" \
https://XXX.s3.amazonaws.com/MyIntroVideo.mp4

我得到了ERROR 403: Forbidden.,但是如果我只需转到浏览器并粘贴以下url

https://XXX.s3.amazonaws.com/MyIntroVideo.mp4?AWSAccessKeyId=XXX&Expires=XXX&Signature=XXX

我可以查看和下载视频。我在wget上做错了什么,以及为什么我被禁止访问错误(与只在浏览器中访问这个url有什么不同)?

更新:我尝试的第一件事是用相同的url传递参数:

代码语言:javascript
运行
AI代码解释
复制
wget \
--no-check-certificate \ 
--no-proxy \
https://XXX.s3.amazonaws.com/MyIntroVideo.mp4?AWSAccessKeyId=XXX&Expires=XXX&Signature=XXX

但也没用。

EN

回答 1

Stack Overflow用户

发布于 2014-05-04 05:13:08

将URL放在单引号中:

代码语言:javascript
运行
AI代码解释
复制
wget \
--no-check-certificate \ 
--no-proxy \
'https://XXX.s3.amazonaws.com/MyIntroVideo.mp4?AWSAccessKeyId=XXX&Expires=XXX&Signature=XXX'

否则,查询参数之间的符号可以由shell解释为命令之间的分隔符,因此wget只能看到AWSAccessKeyId=XXX,而没有签名。

或者,一种更简单的方法可能是使用专用的S3客户端工具,例如s3cmd

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23456346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档