代码之家  ›  专栏  ›  技术社区  ›  Nick Fortescue

如何配置Apachehttpcore4使用代理?

  •  4
  • Nick Fortescue  · 技术社区  · 16 年前

    我正在尝试使用最新的(4.0.1)ApacheHTTP核心组件库。然而,我的网络浏览器通过一个代理——假设它是my proxy.com:9191。有人能提供一些示例代码来获取一个简单的HTTP GET,并将其用作代理吗?

    我曾尝试在代码开头添加以下内容,但并不高兴:

    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();
      }
    });
    
    1 回复  |  直到 13 年前
        1
  •  9
  •   Nick Fortescue    16 年前

    在没有答案的情况下,以下是我发现的。

    首先,对于这类事情,您不仅要使用HTTP核心库,还要使用 httpclient 另外,请确保从下载页面下载这两个文件。

    其次,使用此代码:

    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);