【问题标题】:Connecting to an HTTPS connection from Java从 Java 连接到 HTTPS 连接
【发布时间】:2015-03-24 10:20:20
【问题描述】:

我想连接到一个 https url https://www.ovh.com/cgi-bin/sms/http2sms.cgi,我使用了以下代码:

URL ovhUrl = new URL("https://www.ovh.com/cgi-bin/sms/http2sms.cgi");
HttpsURLConnection connection = (HttpsURLConnection)ovhUrl.openConnection(); // error here

String s_getBody = String.format("account=%s&login=%s&password=%s&from=%s&to=%s&message=%s",
                                 URLEncoder.encode(account, "UTF-8"),
                                 URLEncoder.encode(login, "UTF-8"),
                                 URLEncoder.encode(password, "UTF-8"),
                                 URLEncoder.encode(from, "UTF-8"),
                                 URLEncoder.encode(to, "UTF-8"),
                                 URLEncoder.encode(msg, "UTF-8"));

但是,每次执行它时,都会在第二行出现异常: weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection

我正在使用 Weblogic Server,我在这里找到了添加到类路径的解决方案,但我宁愿不更改应用程序的类路径或摆弄 Weblogic Server。是否有另一种方法来解决它,也许是通过使用另一个类或另一种方法来执行 https url?

【问题讨论】:

  • URL 到底是什么类型? Weblogic 还是 java?

标签: java url https weblogic httpsurlconnection


【解决方案1】:

不要投到HttpsURLConnection。使用

URLConnection connection = ovhUrl.openConnection();

【讨论】:

  • 但是我使用的url是https url,我尝试使用URLConnection,出现以下错误:FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.
  • 这不是你的xxxConnection 变量声明的问题。你仍然成为SOAPHttpsURLConnection 的一个实例,但你并没有将它转换为错误的类。您遇到的问题是您的客户端从服务器收到的 SSL 证书“无法使用或损坏”。顺便说一句,您看到的错误很好地暗示了使用了 HTTPS 连接(它尝试检查服务器身份但失败)。
  • 我能够通过检查 Weblogic 中服务器的 SSL 选项卡中的 JSSE SSL 选项来解决 FATAL Alert 问题。除非我用 Weblogic 做点什么,否则我似乎做不到。 oraclefuzion.blogspot.com/2014/07/…
【解决方案2】:

我遇到了同样的问题,将处理程序设置为 URL 构造函数对我有帮助。

    URL url = new URL(null, "https://www.ovh.com/cgi-bin/sms/http2sms.cgi", new sun.net.www.protocol.https.Handler());

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2016-09-20
    • 2015-09-09
    • 2013-05-19
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多