@KarolDowbecki的分析方向正确。
代替
sun.net.www.protocol.http.HttpURLConnection;HttpURLConnection
应该通过以下方式解决:
import java.net.HttpURLConnection;
我能够执行您的程序,并产生以下输出:
size of all link and images list81https://makemysushi.com/404#navigationhttps://makemysushi.com/https://makemysushi.com/https://makemysushi.com/sushi-universityhttps://makemysushi.com/sushi-recipeshttps://makemysushi.com/sushi-essentialshttps://makemysushi.com/storehttps://www.facebook.com/Makemysushi/https://www.instagram.com/explore/tags/makemysushi/https://plus.google.com/+Makemysushimailto:info@makemysushi.com // <-- this href attribute is of MailToURLConnection type raising the java.lang.ClassCastException which can't be casted to HttpURLConnection type...https://makemysushi.com/Sushi-share/contact-ushttps://makemysushi.com/Sushi-share/about-usnullnullnullnullsize of activelink list77https://makemysushi.com/404#navigation----Not Foundhttps://makemysushi.com/----OKhttps://makemysushi.com/----OKhttps://makemysushi.com/sushi-university----OKhttps://makemysushi.com/sushi-recipes----OKhttps://makemysushi.com/sushi-essentials----OKhttps://makemysushi.com/store----OKhttps://www.facebook.com/Makemysushi/----OKhttps://www.instagram.com/explore/tags/makemysushi/----OKhttps://plus.google.com/+Makemysushi----OKException in thread "main" java.lang.ClassCastException: sun.net.www.protocol.mailto.MailToURLConnection cannot be cast to java.net.HttpURLConnection at demo.TestMakeMySushi.main(TestMakeMySushi.java:48)
原因
该 列表 activelist 包含一个元素:
<a href="mailto:info@makemysushi.com" target="_blank"><i id="social-em" ></i></a>
当您尝试通过 href 属性 **mailto:info@makemysushi.com 建立连接时, 如下所示** :
HttpURLConnection connection = (HttpURLConnection) new URL(activelist.get(j).getAttribute("href")).openConnection();无法建立成功的连接,因为 MailToURLConnection 对象无法转换为 HttpURLConnection 对象,并引发
java.lang.ClassCastException



