报错如下:

报错意思是:请求的url没有冒号,正常的是http:// 或者https://。

相关说明:服务器环境为甲方提供的linux服务器,不是云服务器,相当于没有连接外网,涉及调用第三方Api需要将调用地址和端口提供给他们。配置以后才可以调用。因此在提供七牛云调用地址时,是在本地调用该方法,日志打印使用的是 http://up.qiniu.com,配置以后 ping 可以ping通,但还是报错。示例代码如下:


 Configuration cfg = new Configuration();
 UploadManager uploadManager = new UploadManager(cfg);
 Auth auth = Auth.create(accessKey, secretKey);
 String token = auth.uploadToken(bucketName);
 //上传
 Response response = uploadManager.put(file.getInputStream(), fileName, token);
           

解决方法:Configuration cfg = new Configuration(Zone.zone0());
Configuration创建时指定区域为华南区域。
问题原因:阅读源码可知使用的url和地区有关,应该是在内网环境,不指定区域,在Zone.autoZone()无法获取到区域导致请求的url为空。

 public Zone() {
    }

    public static Zone zone0() {
        return (new Zone.Builder()).upHttp("http://up.qiniu.com").upHttps("https://up.qbox.me").upBackupHttp("http://upload.qiniu.com").upBackupHttps("https://upload.qbox.me").iovipHttp("http://iovip.qbox.me").iovipHttps("https://iovip.qbox.me").rsHttp("http://rs.qiniu.com").rsHttps("https://rs.qbox.me").rsfHttp("http://rsf.qiniu.com").rsfHttps("https://rsf.qbox.me").apiHttp("http://api.qiniu.com").apiHttps("https://api.qiniu.com").build();
    }

    public static Zone huadong() {
        return zone0();
    }

    public static Zone zone1() {
        return (new Zone.Builder()).upHttp("http://up-z1.qiniu.com").upHttps("https://up-z1.qbox.me").upBackupHttp("http://upload-z1.qiniu.com").upBackupHttps("https://upload-z1.qbox.me").iovipHttp("http://iovip-z1.qbox.me").iovipHttps("https://iovip-z1.qbox.me").rsHttp("http://rs-z1.qiniu.com").rsHttps("https://rs-z1.qbox.me").rsfHttp("http://rsf-z1.qiniu.com").rsfHttps("https://rsf-z1.qbox.me").apiHttp("http://api-z1.qiniu.com").apiHttps("https://api-z1.qiniu.com").build();
    }

    public static Zone huabei() {
        return zone1();
    }

    public static Zone zone2() {
        return (new Zone.Builder()).upHttp("http://up-z2.qiniu.com").upHttps("https://up-z2.qbox.me").upBackupHttp("http://upload-z2.qiniu.com").upBackupHttps("https://upload-z2.qbox.me").iovipHttp("http://iovip-z2.qbox.me").iovipHttps("https://iovip-z2.qbox.me").rsHttp("http://rs-z2.qiniu.com").rsHttps("https://rs-z2.qbox.me").rsfHttp("http://rsf-z2.qiniu.com").rsfHttps("https://rsf-z2.qbox.me").apiHttp("http://api-z2.qiniu.com").apiHttps("https://api-z2.qiniu.com").build();
    }
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐