Ниже показано, как установить в Java прокси-сервер с прокси-сервером и прокси-паролем из командной строки, что является очень распространенным случаем. Вы не должны сохранять пароли и хосты в коде, как правило, в первую очередь.
Передача свойств системы в командной строке с -D и их установка в коде с помощью System.setProperty («имя», «значение») эквивалентна.
Но заметьте это
Пример, который работает:
C:\temp>java -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps=proxyUser=user -Dhttps.proxyPassword="password" -Djavax.net.ssl.trustStore=c:/cacerts -Djavax.net.ssl.trustStorePassword=changeit com.andreas.JavaNetHttpConnection
Но следующий не работает
C:\temp>java com.andreas.JavaNetHttpConnection -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps=proxyUser=user -Dhttps.proxyPassword="password" -Djavax.net.ssl.trustStore=c:/cacerts -Djavax.net.ssl.trustStorePassword=changeit
Единственным отличием является расположение системных свойств! (до и после класса)
Если у вас есть специальные символы в пароле, вы можете поместить его в кавычки «@ MyPass123%», как в приведенном выше примере.
Если доступ к услугам HTTPS, вы должны использовать https.proxyHost, https.proxyPort и т.д.
Если доступ к услугам HTTP, вы должны использовать http.proxyHost, http.proxyPort и т.д.
код [Oracle документация] (https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) вокруг этого кажется довольно несвежий (хотя, вероятно, еще в силе). Вот что-то более современное из Spring: https://docs.spring.io/spring-integration/reference/html/http.html#http-proxy – nobar 2017-10-25 14:01:22