Как настроить Apache httpcore 4 для использования прокси?

StackOverflow https://stackoverflow.com/questions/1170795

Вопрос

Я пытаюсь использовать последнюю версию (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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top