2016-07-08 4 views
1

Я пытаюсь установить прокси для использования в моем приложении. Когда я пытаюсь установить его как свойство системы:Настройка прокси-сервера, поскольку свойства системы не работают

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() в моем коде.

Как я могу заставить его работать при использовании его в качестве свойств системы?

+0

Вы пытались установить соединение с браузером с тем же URL-адресом, что выбрасывает исключение? –

+0

да .. он работает нормально @MSach – lucasdc

+0

является URL-адресом http или https? –

ответ

4

URL-адрес, к которому я пытался получить доступ, был https, и я устанавливал http.proxyHost и http.proxyPort. Сменив его на https.proxyHost и https.proxyHost, он работал