4

電話からプロキシ情報を読み取る必要があり、電話がプロキシの下にある場合は、このプロキシを春のrestTemplateオブジェクトに設定する必要があります。運がなくても次のコードを試しました。違う。

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

助けてくれてありがとう

4

1 に答える 1

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

    }
于 2011-11-11T19:10:28.923 に答える