我如何配置apache的HttpCore 4使用代理?
-
19-09-2019 - |
题
我想使用最新版本(4.0.1)的Apache HTTP核心组件库。然而,我的Web浏览器通过代理 - 假设它是myproxy.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();
}
});
解决方案
在没有答案的,这里是我发现了什么。
首先,对于这样的事情,你不只是想使用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);
不隶属于 StackOverflow