Настройка HTTPS-прокси в Java - PullRequest
0 голосов
/ 10 мая 2018

Есть ли способ настроить HTTPS-прокси с помощью класса java.net.Proxy? Я хочу общаться с получателем HTTP, используя HTTPS-прокси от клиента Java.

Заранее спасибо.

1 Ответ

0 голосов
/ 10 мая 2018

Вот минималистичный пример того, как программно настроить прокси:

SocketAddress a = new InetSocketAddress("proxy.example.com", 8080);
Proxy p = new Proxy(Proxy.Type.HTTP, a);
ProxySelector ps = new ProxySelector() {
    public List<Proxy> select(URI uri) { return Collections.singletonList(p); }
    public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {}
};
ProxySelector.setDefault(ps);

Реальный код должен, конечно, делать что-то разумное в connectFailed, и проверить схему URI в select, если приложение будет также использовать другие схемы, которые не поддерживаются прокси-сервером. В последнем случае он должен вернуть экземпляр Proxy типа Proxy.Type.DIRECT, что приведет к обходу соединения через прокси.

Я использовал это только с URL-адресами http и https, поэтому не знаю, работает ли он с другими схемами. Для https URL-адресов прокси-сервер должен поддерживать метод CONNECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...