我想连接到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
我还没有看到类型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");
具有相同的结果。
我还尝试将其添加为Program参数和VM参数。...
-Dhttp.proxyHost=proxy.teatre.guerrilla -Dhttp.proxyPort=8800 -Dhttps.proxyHost=proxy.teatre.guerrilla -Dhttps.proxyPort=8443
答案 0 :(得分:0)
最好不要在代码中包含代理处理。您永远不会知道您的JAVA应用程序将在哪种环境中运行。因此,请使用以下JVM参数配置PROXY设置:How do I set the proxy to be used by the JVM
答案 1 :(得分:0)
请尝试
System.setProperty("http.proxyHost", "proxy.teatre.guerrilla");
System.setProperty("http.proxyPort", 8080);