2013-04-01 138 views
2

我試圖用jsoup登錄到一個網站(有一些子系統內部網頁),進入一個子系統,搜索某些內容並解析頁面。Jsoup錯誤502

我可以登錄,但是當我嘗試訪問子系統我收到一個HTTP錯誤502但在瀏覽器中正常打開。

我認爲這是一些問題與代理(這已經是在java中設置)。一些試了幾次後,我的登錄將被鎖定,我得到的HTTP錯誤407(頁阻塞或類似的東西)

我已經試圖把.useragent("mozilla...").timeout(...).ignorehttperrors(true)ignorecontenttype(true)使用.cookie了。

有沒有辦法解決這個問題?

Response x = Jsoup.connect("page").data("...").method(method.GET).execute(); 

我用給定的建議(Apache的HttpClient的,我再也不會得到HTTP錯誤。 但我還是想知道,如果jsoup可以繞過這個問題,因爲我可以只使用一個。 。罐子代替6(5 Apache的加jsoup解析響應)感謝那些誰編輯我的職位(RS)和OLLO您的建議

+0

你可以通過套接字或HttpClient連接嗎? – ollo

+0

我不習慣httpclient,我會在發現後如何測試連接。我寧願只用jsoup ... – luckasx

+0

JSoup只有一個非常簡單的連接API。如果httpclient有效,你最好使用它(下載網站並用jsoup解析它)。也可以嘗試java URL連接API。 – ollo

回答

1

下面是使用一個例子Java的UrlConnection

URLConnection connection = new URL("your url").openConnection(); 
connection.addRequestProperty("http.proxyHost", "proxy server"); 
connection.addRequestProperty("http.proxyPort", "proxy port"); 

// Alternative: 
System.setProperty("http.proxyHost", "yourproxyserver"); 
System.setProperty("http.proxyPort", "portnumber"); 

InputStream responseStream = connection.getInputStream(); 

// Read response into buffer and parse it with jsoup 

另見我的答案在這裏:JSoup over VPN/proxy

(我想這就是一個更好的)

但我真的reccommend你HttpClient的(或類似的一個),這樣的連接的東西。正如我之前所說,jsoup只是有限的連接支持。

+0

正如我前面提到的,我用HttpPost和System.setProperty(「http.proxyHost」,「yourproxyserver」);做了連接。 我正在關閉這個問題,因爲沒有出現這樣的答案。 – luckasx