我有一小段代码基本上要求HTTP-Client,即它的POSTS请求,并与re RESPONSE一起工作.只要HTTP被认为是更好的工作.出于某种原因,我现在也必须支持HTTPS.所以这里简要介绍一下如何打开连接:
URL url = new URL(serverAddress);
HttpsURLConnection httpsConn = (HttpsURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)
这失败了,说:
sun.net.www.protocol.https.HttpsURLConnectionImpl cannot be cast to com.sun.net.ssl.HttpsURLConnection
Run Code Online (Sandbox Code Playgroud)
我想这有点微不足道,但我只是不知道我在这个问题上做错了...用Google搜索,代码看起来是对的 - 不是吗?
任何想法都表示赞赏!
Bal*_*usC 28
只需保留java.net.URLConnection
或转换它java.net.HttpURLConnection
.两者都提供了完成所需任务的方法.
A面的话无关的技术问题:你应该从来没有明确的导入/使用Sun的Java SE实现特定的类在你的代码.这些是未记录的类,并且可能会在升级JVM时导致代码中断.另一方面,当您在不同品牌的JVM上运行代码时,您的代码也可能会中断.
更新:因为你似乎不小心有进口的,去窗口>首选项>的Java>外观>类型过滤,并 添加 com.sun.*
和sun.*
到列表中.这样你就不会意外地导入它们:
小智 7
而不是使用标准构造函数创建URL对象
URL wsURL = new URL(url);
Run Code Online (Sandbox Code Playgroud)
使用
java.net.URL wsURL = new URL(null, url,new sun.net.www.protocol.https.Handler());
Run Code Online (Sandbox Code Playgroud)
这将解决这个问题
检查你的进口,你应该使用
java.net.HttpURLConnection
Run Code Online (Sandbox Code Playgroud)
要么
javax.net.ssl.HttpsURLConnection
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
77804 次 |
最近记录: |