Как настроить Apache httpcore 4 для использования прокси?
-
19-09-2019 - |
Вопрос
Я пытаюсь использовать последнюю версию (4.0.1) библиотеки основных компонентов Apache http.Однако мой веб-браузер использует прокси-сервер — предположим, что это myproxy.com:9191.Может ли кто-нибудь предоставить пример кода для того, чтобы простой HTTP мог использовать это в качестве прокси?
Я попробовал добавить следующее в начало своего кода, но ничего не добился:
ProxySelector.setDefault(new ProxySelector() {
public List<Proxy> select(URI uri) {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("myproxy.com", 9191);
return Arrays.asList(new Proxy[]{proxy)});
}
public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
ioe.printStackTrace();
}
});
Решение
Ввиду отсутствия ответа вот что я узнал.
Во-первых, для подобных вещей вам нужно не просто использовать базовую библиотеку http, вы хотите использовать httpклиент также убедитесь, что вы загрузили оба файла со страницы загрузки.
Во-вторых, используйте этот код:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("myproxy.com", 9191);
httpclient.getCredentialsProvider().setCredentials(
new AuthScope(PROXY, PROXY_PORT),
new UsernamePasswordCredentials("username", "password"));
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Не связан с StackOverflow