zoukankan      html  css  js  c++  java
  • wget下载阿里云oss的文件报错403

    问题

    在实际工作中,我们为了方便,会将一些脚本储存在云端(阿里云OSS),这样方便我们使用和下载,但是在实际的使用过程中,我们会遇到一些问题。

    示例链接: https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561364265&Signature=w2i1aL3sfHcX%2Fj06N52%2BhSvQaJU%3

    然后我们通过 wget 进行下载。

    [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。我们设置了下这两个参数,然后进行访问,发现还是不行。

    解决办法

    原因是 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 工具在连接中断的时候尝试断点续传。

  • 相关阅读:
    Android Button四种点击事件和长按事件
    Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
    Android EditText属性
    Android-TextView 控件常用属性以及基本用法
    对象数组空指针异常
    数字反转问题
    遇3问题
    队列解密QQ号
    线程先后执行问题
    小哼买书
  • 原文地址:https://www.cnblogs.com/operationhome/p/11077517.html
Copyright © 2011-2022 走看看