0

各位专业人士您好,

我是Android开发的新手,最近刚进入Android领域,现在我尝试使用HTTPS请求访问服务器应用程序时遇到问题(例如https://DEVELOPMENT_SAMPLE.com/project),我们Spring for Android用来处理请求,并使用ApacheHTTP Server + Tomcat + SSL` 作为部署环境。当我使用 HTTP 请求而不是 HTTPS 请求并从部署环境中删除 SSL 时,可以成功处理访问。我从这里分享相关代码:

    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new GsonHttpMessageConverter());
    restTemplate.getMessageConverters().add(new StringHttpMessageConverter());

    HttpComponentsClientHttpRequestFactory factory = new
HttpComponentsClientHttpRequestFactory();
    factory.setConnectTimeout(1000 * 15);
    restTemplate.setRequestFactory(factory);

我知道 Android 上有两个本地 HTTP 客户端,标准 J2SE 工具和 HttpComponents HttpClient。标准 JS2SE 工具通过 SimpleClientHttpRequestFactory 提供,而 HttpClient 通过 HttpComponentsClientHttpRequestFactory 提供。创建新 RestTemplate 实例时使用的默认 ClientHttpRequestFactory 因应用程序运行的 Android 版本而异。

但我想问的问题是如何让我的 HTTPS 可用于 Android 客户端?我想在获取 Connection 对象时应该做一些改变。

非常感谢。

4

1 回答 1

1

是的,Android 可以通过 HTTPS 进行通信。阅读此链接:

在 Android 上接受 HTTPS 证书

另请参阅这篇出色的文章:

使 Android SSL 正常工作

于 2013-05-09T03:10:18.283 回答