浅水777 2021-10-08 10:38 采纳率: 0%
浏览 120

java从https网址中获取zip压缩包并解析

从一个https的url获取zip压缩包,压缩包里面是多个excel文件,excel文件包含两个不同的sheet,字段不一样,要解析成java对象。
excel文件是要密码的,代码中的url获取的压缩包中的exce密码是91440300555442072M。
目前能从url中获取流,但是转为zipInputStream后,总是为空。

 URL url = new URL("https://pubapi.holytax.com/pre/xz/sstfpgj?uid=764a332f16d1291ad2fd1d6c08d177ff");

        SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
        // 创建SSLContext对象,并使用我们指定的信任管理器初始化
        TrustManager[] tm = {new MyX509TrustManager()};
        sslContext.init(null, tm, new java.security.SecureRandom());
        HostnameVerifier ignoreHostnameVerifier = (s, sslsession) -> {
            log.warn("Hostname is not matched for cert.");
            return true;
        };
        HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier);
        HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
        HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
        httpsURLConnection.setConnectTimeout(6000);
        httpsURLConnection.setReadTimeout(6000);

        int code = httpsURLConnection.getResponseCode();
        if (code != HttpURLConnection.HTTP_OK) {
            throw new Exception("文件读取失败");
        }

        ZipInputStream zipInputStream = new ZipInputStream(new BufferedInputStream(httpsURLConnection.getInputStream()), Charset.forName("GBK"));
        //   这里每次读取都是空???
        while (zipInputStream.getNextEntry() != null) {

        }
  • 写回答

5条回答 默认 最新

  • 君樨 2021-10-08 11:04
    关注

    访问url直接返回的是一个zip的压缩文件?

    评论

报告相同问题?

问题事件

  • 修改了问题 10月8日
  • 修改了问题 10月8日
  • 创建了问题 10月8日

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作