相关疑难解决方法(0)

Spring Android:使用RestTemplate和https以及cookie

我需要在Android本机应用程序的https连接上使用cookie.我正在使用RestTemplate.

检查其他线程(例如,使用RestTemplate设置安全cookie)我能够在http连接中处理cookie:

restTemplate.setRequestFactory(new YourClientHttpRequestFactory());
Run Code Online (Sandbox Code Playgroud)

哪里 YourClientHttpRequestFactory extends SimpleClientHttpRequestFactory

这适用于http但不适用于https.

另一方面,我能够解决Android信任SSL证书的https问题:

restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(HttpUtils.getNewHttpClient()));
Run Code Online (Sandbox Code Playgroud)

这里描述了HttpUtils:http: //www.makeurownrules.com/secure-rest-web-service-mobile-application-android.html

我的问题是我需要使用ClientHttpRequestFactory的单个实现.所以我有3个选择:

1)找到一种使用SimpleClientHttpRequestFactory处理https的方法

2)找到一种使用HttpComponentsClientHttpRequestFactory处理cookie的方法

3)使用另一种方法

spring android resttemplate

11
推荐指数
1
解决办法
9076
查看次数

SimpleClientHttpRequestFactory vs HttpComponentsClientHttpRequestFactory用于Http请求超时与RestTemplate?

我正在开发一个项目,我需要对我的服务器进行HTTP URL调用,该服务器正在运行Restful Service,它将响应返回为JSON String.

下面是我使用未来和callables的主要代码:

public class TimeoutThreadExample {

    private ExecutorService executor = Executors.newFixedThreadPool(10);
    private RestTemplate restTemplate = new RestTemplate();

    public String getData() {
        Future<String> future = executor.submit(new Task(restTemplate));
        String response = null;

        try {
            response = future.get(500, TimeUnit.MILLISECONDS);
        } catch (TimeoutException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }

        return response;
    }
}
Run Code Online (Sandbox Code Playgroud)

下面是我的Task类,它实现了Callable接口并使用RestTemplate:

class Task implements Callable<String> {

    private RestTemplate restTemplate;

    public …
Run Code Online (Sandbox Code Playgroud)

java spring multithreading httprequest resttemplate

7
推荐指数
1
解决办法
2万
查看次数