Использование прокси с клиентской библиотекой 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();
Разве этого не достаточно для ваших нужд?