2012-07-09 26 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證書以爲能問題,我沒有得到未知的主機異常,但它不是。問題是一個簡單的錯字。

只是檢查,如果這是問題。