Java发起HTTPS连接遇ConnectException超时,求排查方案
Java HTTPS连接超时问题排查求助
测试代码
public static void main(String[] args) throws UnknownHostException, IOException { /*None of these worked: System.setProperty("http.proxyHost", "prxgm.aknet.akb"); System.setProperty("http.proxyPort", "8080"); System.setProperty("https.proxyHost", "prxgm.aknet.akb"); System.setProperty("https.proxyPort", "8080"); System.setProperty("java.net.useSystemProxies", "true"); */ /*neither this helped: ProxySearch proxySearch = new ProxySearch(); proxySearch.addStrategy(Strategy.OS_DEFAULT); ProxySelector proxySelector = proxySearch.getProxySelector(); ProxySelector.setDefault(proxySelector); */ String host = //"services.gradle.org" "www.yapikredi.com.tr" ; Integer port = 443; SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); SSLSocket sslsocket = (SSLSocket) sslsocketfactory .createSocket(host, port); InputStream in = sslsocket.getInputStream(); OutputStream out = sslsocket.getOutputStream(); out.write(1); while (in.available() > 0) { System.out.print(in.read()); } System.out.println("Secured connection performed successfully"); }
运行异常
Exception in thread "main" java.net.ConnectException: Connection timed out: connect at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:579) at java.base/sun.nio.ch.Net.connect(Net.java:568) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:576) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:666) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304) at java.base/sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:163) at java.base/sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88) at SSLDeneme.main(SSLDeneme.java:25)
已尝试的解决方案
- 在Eclipse运行配置中添加代理参数:
-Dhttp.proxyHost=prxgm.aknet.akb -Dhttp.proxyPort=8080 -Dhttps.proxyHost=prxgm.aknet.akb -Dhttps.proxyPort=8080 - 在代码中直接设置代理系统属性(代码中已注释)
- 使用Proxy-Vole库自动获取系统代理
网络诊断结果
tracert 结果
Tracing route to www.yapikredi.com.tr [193.254.228.224] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms 10.215.144.1 2 1 ms <1 ms <1 ms 10.215.252.3 3 1 ms <1 ms <1 ms 10.243.226.61 4 * * * Request timed out. 5 * * * Request timed out. 6 * * * Request timed out. 7 * * * Request timed out. 8 * * * Request timed out. 9 * * * Request timed out. 10 * * * Request timed out. 11 * * * Request timed out. 12 * * * Request timed out. 13 * * * Request timed out. 14 * * * Request timed out. 15 * * * Request timed out. 16 * * * Request timed out. 17 * * * Request timed out. 18 * * * Request timed out. 19 * * * Request timed out. 20 * * * Request timed out. 21 * * * Request timed out. 22 * * * Request timed out. 23 * * * Request timed out. 24 * * * Request timed out. 25 * * * Request timed out. 26 * * * Request timed out. 27 * * * Request timed out. 28 * * * Request timed out. 29 * * * Request timed out. 30 * * * Request timed out. Trace complete.
ping 结果
ping www.yapikredi.com.tr Pinging www.yapikredi.com.tr [193.254.228.224] with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 193.254.228.224: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
补充说明
- 浏览器可正常访问
https://www.yapikredi.com.tr - telnet连接目标站点超时,但无需代理的站点(如
https://www.akbank.com)可正常连接,相关代码运行无问题 - 推测问题出在Java代理配置,但已尝试方案均无效
请问还有哪些排查方向可以尝试?
内容的提问来源于stack exchange,提问作者Cagin Uludamar
相关产品推荐
相关产品推荐

