1

我计划使用创新 HTTP 客户端通过 HTTPS 连接到服务器。

我需要能够接受所有服务器 SSL 证书。

有一些使用 HttpsURLConnection 的示例,但我需要使用 Innovation 实现。

有没有人有任何创新 HTTP 客户端的例子?

4

1 回答 1

1

创新 HTTPClient 不直接支持 HTTPS。有关更多信息,请参见创新网站上的此页面。那里列出了许多可以实施的 3rd 方补丁和示例。设置证书接受取决于您选择的补丁实施。

编辑/更新

请注意,JSSE SSL正在使用实现,目的是定义 aTrustedManager并将其绑定到SSLContextto HTTPConnection

假设您知道如何创建一个TrustManager,下面的代码是从这个 Stackoverflow 页面中选择的,它还显示了如何生成一个。

TrustManager[] trustAllCerts = new TrustManager[] { ... };

// Install the all-trusting trust manager
try {
    SSLContext sc = SSLContext.getInstance("TLS");
    sc.init(null, trustAllCerts, new java.security.SecureRandom());

根据我之前从创新网站链接的 JSSE SSL 下载中获得的 README 文件,您可以通过执行以下操作将其分配给 HTTPConnection:

    // Attach context to connection via socket factory
    HTTPConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

} catch (Exception e) { ... }
于 2012-11-30T22:58:36.853 回答