Я использую клиентскую библиотеку Google HTTP для Java, чтобы делать простые запросы JSON и анализировать ответы. Он работает хорошо, когда я не прохожу через прокси. Но теперь я хочу разрешить моим пользователям использовать в моем приложении функцию прокси (с проверкой подлинности). Я не смотрел в классах HttpTransport, HttpRequestFactory и HttpRequestInitializer.Использование прокси-серверов с клиентской библиотекой Google HTTP для Java
Я пока только немного изменил примеры (и в основном он удалял ненужный код). Итак, где в коде я добавляю настройки прокси-сервера?
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);
}
NetHttpTransport - это оболочка для встроенного HTTP-клиента java.net. Поэтому я бы предположил, что вы можете использовать встроенные системные свойства для настройки прокси-сервера, как обсуждалось [здесь] (http: // docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html) – Charlie
Хммм ... Это раздражает. Я бы надеялся, что они использовали другие библиотеки в полностью скрытом виде, а не в том, что некоторые его компоненты видны. Тогда я могу переключиться на реализацию Apache. –
На самом деле, невозможно попасть туда с Apache или 'java.net', потому что инкапсуляция не заботится о настройке прокси-аутентификации. Я отправлю билет. –