Клиент Джерси с HTTP-прокси - установить заголовки запроса CONNECT - PullRequest
0 голосов
/ 02 июля 2019

Я использую клиент Jersey (v. 2.25.1), настроенный с прокси-сервером HTTP.

    HttpUrlConnectorProvider connectorProvider =
            new HttpUrlConnectorProvider().connectionFactory(url -> {
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(new Proxy(
                        Proxy.Type.HTTP,
                        new InetSocketAddress("hostname", port)));
                return httpURLConnection;
            });
    ClientConfig clientConfig = new ClientConfig().connectorProvider(connectorProvider);
    javax.ws.rs.client.Client client = ClientBuilder.newClient(clientConfig);

Когда я выполняю HTTP-запрос с помощью клиента, он сначала отправляет запрос CONNECT на прокси-сервер.Можно ли установить пользовательские заголовки в запросе CONNECT (например, Аутентификация или мои собственные заголовки)?Я ищу что-то подобное, предоставляемое CURL с помощью флага --proxy-header (https://curl.haxx.se/docs/manpage.html#--proxy-header)

). По умолчанию клиент использует sun.net.www.protocol.http.HttpURLConnection, который отправляет запрос CONNECT с помощью метода sendCONNECTRequest.После некоторой отладки кажется, что невозможно изменить значения заголовка / добавить новые.

Я взглянул на другие подходы (например, используя org.glassfish.jersey.apache.connector.ApacheConnectorProvider) безуспех. Любые намеки приветствуются.

...