2012-12-27 38 views
3

我正在嘗試構建一個Java應用程序來使用HTMLUnit來抓取網站。提取一些數據後,應用程序遇到以下異常 - java.lang.RuntimeException:org.apache.http.conn.HttpHostConnectException:與siteURL的連接被拒絕。當使用HTMLUnit抓取網頁時拒絕連接

如果我再次運行應用程序,它可以在出現相同的異常之前再次提取一些數據。可能服務器看到很多來自同一客戶端IP的請求,並拒絕連接請求。

此外,當應用程序遇到此問題時,我可以使用瀏覽器連接到該網站。

我該如何克服這個問題?在網絡抓取應用程序中,這些問題是如何接近和解決的?

回答

0

我這是怎麼調試這樣的問題:

下載Fiddler

默認情況下,提琴手8888端口監聽,你所要做的,就是配置的WebClient使用小提琴手作爲代理&那麼所有的請求被髮送可以看出(分析,修改&也重新發送)在提琴手。

client.getOptions().setProxyConfig(new ProxyConfig("127.0.0.1", 8888)); 

從我可以從我以往的經驗說的是一些時間後,目標站點塊,你可以嘗試添加暫停或旋轉代理&用戶代理。您也可以嘗試清除Cookie。