アプリケーションで使用するプロキシを設定しようとしています。システムプロパティとして設定しようとすると:
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()));
java.net.ConnectException: Connection timed out: connect
URLに接続しようとするとスローされます:
URL url = new URL(urlToConnect);
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(); // Exception thrown in this line
しかし、プロキシをパラメーターとして次のように設定した場合openConnection()
:
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(proxy);
私のコードは機能し、URL に接続できますがopenConnection()
、コードに多くのコードがあるため、このソリューションは実用的ではありません。
システム プロパティとして使用する場合、どのように機能させることができますか?