我有一小段代码基本上实现了 HTTP 客户端, 即它发布请求并与重新响应一起使用。只要 HTTP 是 相关的一切运作良好。出于某种原因,我现在必须支持 HTTPS 也是。所以这里简要介绍一下我为了打开连接所做的工作:
URL url = new URL(serverAddress);
HttpsURLConnection httpsConn = (HttpsURLConnection) url.openConnection();
这失败了,说明:
sun.net.www.protocol.https.HttpsURLConnectionImpl cannot be cast to com.sun.net.ssl.HttpsURLConnection
我想这有点微不足道,但我只是不明白我在这个中做错了什么...... 谷歌了一下,代码看起来正确 - 不是吗?
任何想法都值得赞赏!
最佳答案
保留它java.net.URLConnection
或将其转换为 java.net.HttpURLConnection
反而。两者都提供了完成所需任务的方法。
与技术问题无关的旁白:您应该永远在您的代码中显式导入/使用 Sun Java SE 实现特定的类。这些是未记录的类,并且在升级 JVM 时可能会导致代码中断。另一方面,当您在不同品牌的 JVM 上运行代码时,您的代码也可能会中断。
更新:由于您似乎不小心导入了它,请转到 Window > Preferences > Java > Appearance > Type Filters 和 Add com.sun.*
和 sun.*
到列表中。这样您就不会意外地导入它们:
关于java - 使用 java 类 HttpsURLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038026/