URL url = new URL(url);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
在测试情况下使用如下带面能正常使用,但是到了正常环境下就报
sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection 的异常
在网上搜索了资料后发现
原因:
在没有对使用的SSL实现类进行配置的情况下,在程序中如果正常使用java.net.URL的不带 URLStreamHandler 参数的构造方法new 一个URL对象的话,url.openConnection()默认是返回sun.net.www.protocol.http.HttpURLConnection 类型对象。所以我们带上一个URLStreamHandler
参数。
解决方法:
URL url =new URL(url);
sun.net.www.protocol.http.HttpURLConnection conn = (sun.net.www.protocol.http.HttpURLConnection) url.openConnection();
特此记录