如何配置apache httpcore 4以使用代理?

Nic*_*cue 4 java proxy http apache-httpclient-4.x

我正在尝试使用最新的(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();
  }
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*cue 9

在没有答案的情况下,这就是我发现的.

首先,对于这类事情,您不仅要使用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);
Run Code Online (Sandbox Code Playgroud)