2009-07-23 14 views
4

最新の(4.0.1)Apache httpコアコンポーネントライブラリを使用しようとしています。しかし、私のWebブラウザはプロキシを経由します - myproxy.com:9191とします。誰かが単純なhttpを取得するためのサンプルコードを提供して、これをプロキシとして使用することができますか?プロキシを使用するには、httpcore 4を設定するにはどうすればよいですか?

私は自分のコードの先頭に次の行を追加しようとしたが、何の喜びなかっました:答えがない場合には

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

答えて

9

は、ここで私が見つけたものです。

まずは、httpコアライブラリを使用するだけでなく、httpclientも使用したい場合は、ダウンロードページから両方をダウンロードしてください。私はHttpCoreあまり好きではないよ

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

第二に、このコードを使用します。 APIはHttpClientよりも優れているようですが、HttpClientほど簡単ではありません。 – skaffman

+0

私の理解では、httpClient型のものを行う必要がある場合は、HttpClientを使用し、さらに抽象的なものをHttpCoreで使用します。ほとんどのアプリは、おそらくHttpCoreを直接使用する必要はありません。または私は間違っていますか? –

+1

Apache HttpComponentsページ[http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientExecuteProxy.java](http://hc。 apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientExecuteProxy.java)あなたが尋ねたことはしますが、CredentialsProviderには何も設定されていません。また、どこからPROXYとPROXY_PORTが来るのかは不明です。 –

関連する問題