带代理的 Android Spring RestTemplate

标签 android spring proxy 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);

感谢您的帮助

最佳答案

我已经找到了问题的答案.. 将在此处发布代码:

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

    }

关于带代理的 Android Spring RestTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8071641/

相关文章:

java - 配置属性注释问题

java - Spring Boot 向 JWT 注册

一旦涉及代理,Javascript 将无法正常运行

proxy - 指定与 DotNetOpenID 一起使用的代理

reactjs - 如何使用 create-react-app 在 url 中使用域名而不是 'localhost:3000' 进行本地开发?

android - 设置填充是否会更改 Android 或 IOS 上的 View 大小?

java - 为什么将单个项目字符串解析为 JSONArray 失败

java - 将字符串解析为 JSON 对象

java - 存在不同情况的资源,并且不生成类文件

java - 查找哪个依赖项包含 Spring WebApplicationInitializer