2011-11-09 7 views
4

私は電話からプロキシ情報を読み込む必要があります。電話がプロキシの下にある場合は、私のspring restTemplateオブジェクトにこのプロキシを設定する必要があります。誰でも私が間違っていることを教えてくれる。任意の助けAndroidのSpring RestTemplate with Proxy

String proxyHost = android.net.Proxy.getHost(activity 
      .getApplicationContext()); 

SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); 
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, 8080)); 
requestFactory.setProxy(proxy); 
RestTemplate rest = new RestTemplate(requestFactory); 

おかげで

答えて

5

私は私の質問のための答えを見つけた...ここにコードを掲載します:。

if (proxyHost != null && proxyPort != null) { 
     rest = new RestTemplate(); 
     HttpComponentsClientHttpRequestFactory factory = ((HttpComponentsClientHttpRequestFactory) rest 
       .getRequestFactory()); 
     DefaultHttpClient defaultHttpClient = (DefaultHttpClient) factory 
       .getHttpClient(); 
     HttpHost proxy = new HttpHost(proxyHost, proxyPort); 
     defaultHttpClient.getParams().setParameter(
       ConnRoutePNames.DEFAULT_PROXY, proxy); 

    } else { 
     rest = new RestTemplate(); 
     HttpComponentsClientHttpRequestFactory factory = ((HttpComponentsClientHttpRequestFactory) rest 
       .getRequestFactory()); 
     DefaultHttpClient defaultHttpClient = (DefaultHttpClient) factory 
       .getHttpClient(); 

    } 
+0

'defaultHttpClient.getParamsを()setParameterを(ConnRoutePNames.DEFAULT_PROXYを、プロキシ); '!ありがとう、ちょうど私の一日を作った!私は、プロキシを使用するための要件とHTTP基本認証を必要とするサービスへの接続を組み合わせようとしていました。 – ZeroOne

関連する問題