Android Spring RestTemplate与代理

use*_*778 4 proxy spring android spring-android

我需要从手机上读取代理信息,如果手机在代理下,我需要在我的spring 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);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

use*_*778 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();

    }
Run Code Online (Sandbox Code Playgroud)