Использование прокси с клиентской библиотекой Google HTTP для Java

Я использую клиентскую библиотеку Google HTTP для Java, чтобы делать простые запросы JSON и анализировать ответы. Это хорошо работает, когда я не иду через прокси. Но теперь я хотел бы разрешить моим пользователям использовать в моем приложении функцию прокси (с аутентификацией). Я смотрел в классы HttpTransport, HttpRequestFactory и HttpRequestInitializer без какого-либо успеха.

Пока что я лишь немного изменил примеры (и в основном это было удаление ненужного кода). Так где же в коде добавить настройки прокси?

static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new JacksonFactory();

<T> T get(String url, Class<T> type) throws IOException {
    HttpRequestFactory requestFactory =
            HTTP_TRANSPORT.createRequestFactory(new HttpRequestInitializer() {
                @Override
                public void initialize(HttpRequest request) {

                    request.setParser(new JsonObjectParser(JSON_FACTORY));
                }
            });
    HttpRequest request = requestFactory.buildGetRequest(new GenericUrl(url));
    return request.execute().parseAs(type);
}

1 ответ

Похоже, это работает нормально для аутентифицированного прокси, использующего google-http-client:1.13.1-beta

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT));
HttpTransport httpTransport = new NetHttpTransport.Builder().setProxy(proxy).build();

Разве этого не достаточно для ваших нужд?

Другие вопросы по тегам