5

我正在尝试使用 Restlet 在 Android 上设置 HTTPS 客户端,但出现此错误:

内部连接器错误 (1002) - 没有可用的客户端连接器支持所需的协议:“HTTPS”。请将匹配连接器的 JAR 添加到您的类路径中。然后,手动注册此连接器助手。

许多消息来源说您只需要为 ssl 和依赖项添加 jar,因此我添加了以下 jar:

  • org.restlet
  • org.restlet.ext.ssl
    • org.jsslutils
  • org.restlet.ext.httpclient
    • org.apache.commons.codec_1.5
    • org.apache.commons.logging_1.1
    • org.apache.httpclient_4.1
    • org.apache.httpcore_4.1
    • org.apache.httpmime_4.1
    • org.apache.james.mime4j_0.6
    • net.jcip.annotations_1.0

Restlet 的文档说您需要为 HTTPS 添加外部“连接器”。根据它,HTTPS CLIENT 的选项是:

  1. Apache HTTP 客户端
  2. Net(JDK 自带)

我假设我同时拥有(org.apache.httpclient_4.1 和 JDK)。

错误消息提到“手动注册连接器助手”,但我不知道该怎么做。文档提到了连接器的参数。那里的一些链接已损坏,其他链接没有额外的文本就转到 javadocs。这一个列出了一些参数,但所有看似可选的设置都没有关于设置替代连接器的内容。网络上的一些资源通过“System.setProperty”设置了代码片段。我复制粘贴了一些,但没有成功。

4

1 回答 1

1

此问题已在 Restlet 2.2 版中得到完全解决,其中内部 HTTP/HTTPS 连接器现在基于 HttpURLConnection,不需要额外的依赖项。它是轻量级的,不需要使用 Apache HTTP 客户端 API。这对 Android 版本特别有效。

于 2014-05-10T04:48:05.137 回答