相关文章推荐
小胡子的皮带  ·  C# 中的ushort - CSDN文库·  1 月前    · 
星星上的热带鱼  ·  theme = ...·  5 天前    · 
含蓄的山楂  ·  python asyncio ...·  1 年前    · 
乖乖的树叶  ·  SELECT | PingCAP 文档中心·  1 年前    · 
傲视众生的电脑桌  ·  expecting ...·  1 年前    · 

今天在处理一个和https交互的工作,主要是下载aws的s3上面存放的链接,但是由于,s3上面的图片链接是https的,所以,请求下载时偶尔报错:SSL peer shut down incorrectly导致下载失败。网上百度的大多数都和我想要有些出入,我在此记录自己的解决方式和过程。以备后用

这里有些莫名其妙的地方是,有时候能下载成功,有时候又不能下载成功。所以网上找了很多方法。
在这里插入图片描述

这是安全协议的问题。我正在使用的协议和主机接受的协议不一致导致。参考: Stackoverflow

那如何知道自己正在使用的协议是什么呢?使用下面的代码可以查看自己目前支持的协议,参考文章 https.protocols的检测与设置

 public static void main(String[] args) throws Exception {
        SSLContext context = SSLContext.getInstance("TLS");
        context.init(null, null, null);
        SSLSocketFactory factory = (SSLSocketFactory) context.getSocketFactory();
        SSLSocket socket = (SSLSocket) factory.createSocket();
        String[] protocols = socket.getSupportedProtocols();
        System.out.println("Supported Protocols: " + protocols.length);
        for (int i = 0; i < protocols.length; i++) {
            System.out.println(" " + protocols[i]);
        protocols = socket.getEnabledProtocols();
        System.out.println("Enabled Protocols: " + protocols.length);
        for (int i = 0; i < protocols.length; i++) {
            System.out.println(" " + protocols[i]);

打印结果如下:
在这里插入图片描述

//设置https协议访问
System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2,SSLv3");

参考文章:

https.protocols在Java中的使用

解决异常: SSL peer shut down incorrectly异常展示定位问题问题解决参考文章:今天在处理一个和https交互的工作,主要是下载aws的s3上面存放的链接,但是由于,s3上面的图片链接是https的,所以,请求下载时偶尔报错:SSL peer shut down incorrectly导致下载失败。网上百度的大多数都和我想要有些出入,我在此记录自己的解决方式和过程。以...
Android Studio 编译时出现如下问题 SSL peer shut down incorrectly 或者某些jar包下载不下来,一般是因为墙的原因导致的。 这时候我们就需要配置镜像来解决这个问题。 遇到这个问题,先备份工作项目,新建无关紧要的项目。 1、用阿里的远程仓库,如下 (为了提高jar包的下载速度也可以配置)配置的方法...
Android Studio在首次安装创建项目的时候,出现“ERROR: SSL peer shut down incorrectly”错误,这是因为android studio在下载“gradle-4.10.1-all.zip”文件的时候出现的错误,错误原因是studio工具不支持https请求,如下这类型的网址: https\://services.gradle.org/distribut...
这个问题通常出现在Android Studio更新失败的时候,会在一开始建立项目的时候报错如下: 百度和谷歌之后知道是Gradle的配置有问题【接下来的蓝色字体部分是遇到的新问题,如果不瞎操作的话,直接跳到黑色字体部分继续阅读】 没弄懂自己的版本号究竟是多少的前提下,去Gradle的网站(http://services.gradle.org/distributions/)下载了最新版的Gr
前几天计算机重装系统了,当然一些软件都被清空了,包括今天的主角–Android Studio。 今天下载了一个2.3.3版本的试一下,结果新建第一个项目的时候一直出现该错误 SSL peer shut down incorrectly 通过百度查询发现出现的原因是由于Android Studio的Gradle构建项目出现了问题,大部分给出的修改意见是: File –> Settings –
场景:添加kotlin插件时出现的问题.挺奇怪的,我明明已经科学上网了,为何还存在这种问题. 问题解决:把gradle-wapper文件打开,distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 把https换成http,再进行gradle同步就OK了....
1. 服务端或客户端证书验证失败,导致SSL握手失败; 2. SSL 握手过程中发生超时或其他网络异常,导致连接关闭; 3. SSL 握手时使用的协议版本或加密算法不被对方支持,导致连接关闭; 4. 服务器端存在安全漏洞,导致被攻击者利用,关闭了连接。 如果您是开发人员,可以尝试打开调试模式,查看 SSL 握手过程中的详细信息,以便更好地定位问题。如果您是用户,可以尝试联系网站管理员或应用开发者,以获取更多帮助。