黑莓手机将无法连接到一些HTTPS的网页。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黑莓手机将无法连接到一些HTTPS的网页。相关的知识,希望对你有一定的参考价值。
我正在为我个人使用的黑莓6.x系统编写一个Java应用程序。
所以我在开发中遇到了一个巨大的障碍。基本上,我需要应用程序连接到一个特定的网页来检索一些数据。由于我需要使用纯文本凭证登录网站,我强烈希望使用HTTPS。
由于某些我无法理解的原因,设备无法连接到我需要连接的网站以及其他许多网站。
该设备完全能够加载的页面包括 https:/www.google.com.au和 https:/www.youtube.com.
设备所处的页面 连不上 包括 https:/github.com。和 https:/duckduckgo.com.
值得注意的是。
- 这个问题发生在 两者 在黑莓模拟器和物理设备上。正在使用的物理设备是运行BlackBerryOS 6.3的BlackBerry Curve 9300。仿真器是类似的东西。(与黑莓7.x JDK一起出厂的9600模拟器也有同样的问题)。
- 不能通过Java代码使用HTTPS访问的页面也不能使用系统中的默认浏览器访问。尽管使用第三方Opera Mini浏览器能够正常连接到这些网站。
- 这个问题似乎只发生在尝试使用HttpsConnection而不是HttpConnection的时候。如果我使用不安全的HttpConnection,我能够连接到网站,尽管我希望不使用这个。
以下是我试图在设备上运行的整体要领。
public static final String SITE_URL = "https://duckduckgo.com";
HttpsConnection conn = null;
try {
// Create connection
conn = (HttpsConnection) Connector.open(SITE_URL + ";deviceside=true;interface=wifi", 3, true);
// Try print certificate information
Certificate c = conn.getSecurityInfo().getServerCertificate();
Dialog.alert("Issuer: " + c.getIssuer() + " subj:" + c.getSubject());
// Getting response code opens connection, sends request,
// and reads HTTP headers.
int rcode = conn.getResponseCode();
if (rcode != HttpsConnection.HTTP_OK) {
throw new IOException ("HTTP response: " + rcode);
}
Dialog.alert("Response: " + rcode);
} catch (ClassCastException e) {
throw new IllegalArgumentException("Not a HTTP URL");
} catch (IOException e) {
Dialog.alert("IOException: " + e.getMessage());
} finally {
// Close connection and stream.
if (is != null) { is.close(); }
if (conn != null) { conn.close(); }
}
如果我改变 SITE_URL
到我知道我可以连接到的东西(https:/www.google.com.au等)然后代码运行正常,我得到一个HTTP 200。当我尝试连接到说。https:/duckduckgo.com,程序只是简单地抛出一个IOException(具体来说,似乎是TLSIOException,如果我抓到了所有相关的IOException子类),并在调用时返回null。(具体来说,它似乎是一个TLSIOException,如果我捕捉到所有相关的IOException子类的话),并且在调用了 getMessage()
.
谢谢,任何帮助或建议将是非常感激的。
你的服务器需要什么版本的TLS? BBOS很老了,我相信只支持TLS 1.0和SSL 3.0。 你可以通过你的设备上的这个网站来验证。 https:/clienttest.ssllabs.com:8443ssltestviewMyClient.html。
很可能你连接的服务器也不支持这些旧版本。
以上是关于黑莓手机将无法连接到一些HTTPS的网页。的主要内容,如果未能解决你的问题,请参考以下文章
无法将我的手机连接到 Android Studio 或 VS 代码
无法将 Android Studio 连接到我的手机或 Bluestacks