2012-07-09 64 views
2

我想解析和操纵HTML使用jsoup。对于HTTP URL,它工作得非常好,但如果使用HTTPS URL,则会抛出UnknownHostException。以下是我的代码:UnknownHostException使用jsoup访问HTTPS url时

System.setProperty("http.proxyHost", "192.168.0.1"); 
System.setProperty("http.proxyPort", "8080"); 

Document doc = Jsoup.connect("https://www.google.com/").get(); 

我是相当期待与SSL证书的例外,但有什么能为UnknownHostException的原因是什么?请注意,以下代码可以完美运行:http://www.google.com/

回答

4

请检查here,您需要以单独的方式指定https的代理。

System.setProperty("https.proxyHost", "your host"); 
System.setProperty("https.proxyPort", "your port"); 
+0

你确定吗?因为在使用HTTPConnections时,我从未明确地为https url进行过更改。 – 2012-07-09 10:32:36

+0

那么从个人经验和链接的文档,我会说是的。也许在其他项目中,HTTP/HTTPS代理是通用设置的,还是在运行时添加的? – Scorpio 2012-07-09 10:38:06

+0

btw在独立的java应用程序中指定这些属性引发java.lang.ClassNotFoundException:无法找到指定的类com.ibm.websphere.ssl.protocol.SSLSocketFactory。任何想法为什么它指的是这些文件? – 2012-07-09 12:10:11

0

我不确定它是否对您有帮助。 我正在使用JSoup。考虑这个样本网站,

String url = https://trickideas.com;

Jsoup.connect(url).get();

我得到未知的主机异常,如果我尝试连接到 https://www.trickideas.com/

,如果我连接到https://trickideas.com/

我插手与SSL证书以为能问题,我没有得到未知的主机异常,但它不是。问题是一个简单的错字。

只是检查,如果这是问题。