admin管理员组文章数量:1618694
今天在项目遇到了Received fatal alert: handshake_failure 的问题,直译就是握手失败了,说实话,我也是第一次碰到这种情况。在各大论坛,各种技术博客的海洋里,仍然没有解决我的问题。最后捡漏发现了这个原因,真的太出乎意料了。
首先和大家说一下网上的一些经验和处理办法,算是一个总结。
我们用curl 和 postman 发送请求,都可以握手成功,唯独用代码不能请求成功。handshake_failure的原因绝不是一种。
原因一: Https 的协议版本不一致。协议有 TLSv1.2,TLSv1.1,SSLv3
如何来确定这个问题?
1:如果你是在本机运行,可以这么做,写一个通讯客户端(只用来测试握手的)
代码是我临时引用别人的,我的在服务器上不好拿下来。
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.ConnectException;
import java.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.ssl.HostnameVerifier;
import javax.ssl.HttpsURLConnection;
import javax.ssl.SSLContext;
import javax.ssl.SSLSession;
import javax.ssl.TrustManager;
import javax.ssl.X509TrustManager;
public class HttpsTest {
private stat
版权声明:本文标题:HTTPS请求 Received fatal alert: handshake_failure异常---与众不同的原因 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728786162a1173352.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论