Я хочу, чтобы моя программа на Java использовала системную конфигурацию прокси. Соответственно, я использовал код, найденный во многих местах, таких как этот ответ , чтобы установить java.net.useSystemProxies
в true и вызвать ProxySelector.getDefault().select(...)
, чтобы обнаружить прокси для конкретного хоста, к которому я хочу обратиться. Это отлично работает, когда я настроил один явный прокси-сервер в свойствах Интернета. Но если я установил «Использовать сценарий автоматической настройки», он всегда возвращает ПРЯМОЙ «прокси».
Я знаю, что скрипт работает, так как мой браузер может получить доступ к хостам, для которых он возвращает прокси-сервер, а без установленного скрипта он не может. Я даже попытался упростить скрипт до самого необходимого :
function FindProxyForURL(url, host)
{
return "PROXY my.proxy.mydomain:3128";
}
, и он работает в моем браузере, но ProxySelector.getDefault().select(...)
по-прежнему возвращает только DIRECT.
Я что-то пропустил? (Это на Java 1.6 и Windows 7, если это имеет значение.)