繁体   English   中英

HttpURL使用代理连接到HTTP

[英]HttpURLConnection to HTTPs with proxy

我想连接到Java中需要代理的https:// URL。

我的系统中有2个代理:

HTTP  -> proxy.teatre.guerrilla:8080
HTTPS -> proxy.teatre.guerrilla:8443

我尝试过

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.teatre.guerrilla", 8080));

URL url = new URL ( urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);

但是我Exception in thread "main" java.net.ConnectException: Connection timed out: connect遇到Exception in thread "main" java.net.ConnectException: Connection timed out: connect

而且我还没有看到类型Proxy.Type.HTTPS

我也试过

System.setProperty("http.proxyHost", "proxy.teatre.guerrilla");
System.setProperty("http.proxyPort", "8080");

System.setProperty("https.proxyHost", "proxy.teatre.guerrilla");
System.setProperty("https.proxyPort", "8443");

结果相同。

我也尝试将其添加为程序参数和VM参数。

-Dhttp.proxyHost=proxy.teatre.guerrilla -Dhttp.proxyPort=8800 -Dhttps.proxyHost=proxy.teatre.guerrilla -Dhttps.proxyPort=8443

您最好不要在代码中包含代理处理。 您永远不会知道您的JAVA应用程序将在哪种环境中运行。 因此,请使用JVM参数配置PROXY设置,如下所示: 如何设置JVM使用的代理

请试试

System.setProperty("http.proxyHost", "proxy.teatre.guerrilla");
System.setProperty("http.proxyPort", 8080);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM