gpt4 book ai didi

java - 使用 Apache Http Client 4.5.3 从 jdk1.6.0_45 向 API 网关发出简单的 POST 请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:45 25 4
gpt4 key购买 nike

你好,

我正在尝试使用 Apache Http Client 4.5.3 从 jdk1.6.0_45 向 API 网关发送 POST 请求

public class App {

public static void main(String[] args) throws IOException {
System.setProperty("javax.net.debug", "ssl");

HttpClient connection = HttpClientBuilder.create().build();
String url = "https://76mpviml3c.execute-api.us-east-1.amazonaws.com/agstage/";
HttpPost request = new HttpPost(url);

connection.execute(request);
}

我得到 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure.

你能帮我理解我做错了什么吗?

顺便说一句:AmazonS3Client (aws-java-sdk-s3 rev="1.11.109") 在 jdk1.6.0_45 上运行良好

日志:

触发 SecureRandom 的播种完成播种 SecureRandom允许不安全的重新协商:false允许遗留问候消息:true是否初始握手:true是否安全重新协商:false%% 没有缓存的客户端 session *** ClientHello, TLSv1RandomCookie: GMT: 1490949205 字节 = { 187, 178, 36, 198, 107, 55, 182, 178, 107, 167, 74, 180, 59, 166, 13, 66, 247, 17, 201, 9, 36, 195, 234, 237, 68, 23, 124, 177 } session ID:{}密码套件:[SSL_RSA_WITH_RC4_128_MD5、SSL_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_DHE_RSA_WITH_AES_128_CBC_SHA、TLS_DHE_DSS_WITH_AES_128_CBC_SHA、SSL_RSA_WITH_ 3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_RSA_ EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV]压缩方法:{ 0 }


主要,写入:TLSv1 握手,长度 = 75线程“main”中的异常 javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure 在 com.sun.net.ssl.internal.ssl.Alerts.getSSLException (Alerts.java:174) 在 com.sun.net.ssl.internal.ssl.Alerts.getSSLException (Alerts.java:136) 在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1822) 在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1004) 在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) 在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215) 在 com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199) 在 org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396) 在 org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355) 在 org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359) 在 org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) 在 org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在 org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) 在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) 在 App.main(App.java:18)主要,阅读:TLSv1 警报,长度 = 2主要,RECV TLSv1 警报:致命,握手失败主要,称为 closeSocket()主要,处理异常:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure

最佳答案

我在使用 AWS + Java7 + HTTPClient4.3 时遇到了类似的问题;将 Apache HTTPClient 升级到 v4.5.7 修复了它。查看此版本是否解决了您的问题。

关于java - 使用 Apache Http Client 4.5.3 从 jdk1.6.0_45 向 API 网关发出简单的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46689593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com