在實際工做中,咱們爲了方便,會將一些腳本儲存在雲端(阿里雲OSS),這樣方便咱們使用和下載,可是在實際的使用過程當中,咱們會遇到一些問題。shell
示例連接:https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561364265&Signature=w2i1aL3sfHcX%2Fj06N52%2BhSvQaJU%3
瀏覽器
而後咱們經過 wget
進行下載。bash
[root@localhost ~]# wget https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561363647&Signature=bBk3TUEGI7vE2%2F5AIJYv0sOSrW0%3D [1] 20626 [2] 20627 [root@localhost ~]# --2019-06-24 15:07:40-- https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8 Resolving djxlsp.oss-cn-shenzhen.aliyuncs.com (djxlsp.oss-cn-shenzhen.aliyuncs.com)... 120.77.166.194, 120.77.166.192 Connecting to djxlsp.oss-cn-shenzhen.aliyuncs.com (djxlsp.oss-cn-shenzhen.aliyuncs.com)|120.77.166.194|:443... connected. HTTP request sent, awaiting response... 403 Forbidden 2019-06-24 15:07:40 ERROR 403: Forbidden.
發現是報 403
錯誤,我開始覺得是資源不存在,仍是怎麼。可是發現該 URL
放在 瀏覽器裏面能夠正常打開,那就不是資源的問題,我在想是不是 Referer
或者是 未設置 Header
。咱們設置了下這兩個參數,而後進行訪問,發現仍是不行。tcp
緣由是 URL
裏面包含特殊字符 好比 &,致使 URL 被截斷,形成請求 URL 不完整,OSS 中不存在對應的文件信息,因此訪問被拒絕提示 403。所以在 Linux 平臺 URL 須要加上英文單引號才能夠經過 wget
工具下載。工具
正確寫法阿里雲
wget 'https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561364265&Signature=w2i1aL3sfHcX%2Fj06N52%2BhSvQaJU%3D' -O tcp-status.sh
咱們若是是下載比較大的文件的時候,咱們可使用 -c
參數使 wget
工具在鏈接中斷的時候嘗試斷點續傳。code