【问题标题】:How to make Android can access HTTPS request?如何让Android可以访问HTTPS请求?
【发布时间】:2013-05-03 10:46:07
【问题描述】:

大家好,

我是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 对象时应该做一些改变。

非常感谢。

【问题讨论】:

标签: android spring http https


【解决方案1】:

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

Accepting a certificate for HTTPS on Android

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

Making Android SSL Work Correctly

【讨论】:

  • 感谢您的回答,对我很有帮助。
猜你喜欢
  • 2011-12-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
  • 2015-11-11
  • 2023-03-26
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
相关资源
最近更新 更多