将代理设置为系统属性不起作用
Setting proxy as System properties not working
我正在尝试设置一个代理以在我的应用程序中使用。当我尝试将其设置为系统时 属性:
Proxy proxy = ... // code to retrieve proxy from .pac file
InetSocketAddress addr = (InetSocketAddress) proxy.address();
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", addr.getHostName());
System.setProperty("http.proxyPort", Integer.toString(addr.getPort()));
当我尝试连接到 URL 时抛出 java.net.ConnectException: Connection timed out: connect
:
URL url = new URL(urlToConnect);
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(); // Exception thrown in this line
但是,如果我将代理作为参数设置为 openConnection()
:
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(proxy);
我的代码有效,我可以连接到 URL,但是这个解决方案不切实际,因为我的代码中有很多 openConnection()
。
将其用作系统属性时如何使其工作?
我尝试访问的 URL 是 https,我正在设置 http.proxyHost
和 http.proxyPort
。将其更改为 https.proxyHost
和 https.proxyHost
,它起作用了
我正在尝试设置一个代理以在我的应用程序中使用。当我尝试将其设置为系统时 属性:
Proxy proxy = ... // code to retrieve proxy from .pac file
InetSocketAddress addr = (InetSocketAddress) proxy.address();
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", addr.getHostName());
System.setProperty("http.proxyPort", Integer.toString(addr.getPort()));
当我尝试连接到 URL 时抛出 java.net.ConnectException: Connection timed out: connect
:
URL url = new URL(urlToConnect);
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(); // Exception thrown in this line
但是,如果我将代理作为参数设置为 openConnection()
:
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(proxy);
我的代码有效,我可以连接到 URL,但是这个解决方案不切实际,因为我的代码中有很多 openConnection()
。
将其用作系统属性时如何使其工作?
我尝试访问的 URL 是 https,我正在设置 http.proxyHost
和 http.proxyPort
。将其更改为 https.proxyHost
和 https.proxyHost
,它起作用了