Artikel ini terutama mempelajari masalah batas waktu java network crawler, sebagai berikut.
Dalam crawler jaringan, kesalahan berikut sering ditemui. Artinya, koneksi habis waktu. Untuk masalah ini, solusi umum adalah: mengatur waktu koneksi dan meminta waktu untuk jangka waktu yang lebih lama. Jika batas waktu koneksi terjadi, peroleh ulang [atur jumlah requests].
Pengecualian di Thread "Main" java.net.connectException: Connection Timed Out: Connect
Kode berikut adalah program sampel yang menggunakan HTTPClient untuk menyelesaikan batas waktu koneksi. Langsung ke program.
paket daili; impor java.io.ioException; import java.net.uri; impor org.apache.http.httprequest; impor org.apache.http.httprotception; impor org.apache.htp.client.clientprotocception; impor org.apache.htp.client.clientprotocception; impor org.apache.htp.client.clientprotocolexception; Impor; org.apache.http.client.params.cookiepolicy; impor org.apache.http.client.protocol.clientContext; impor org.apache.http.impl.client.basiccookiestore; impor org.apache.http.impl.client.basicookiestore; org.apache.http.impl.client.defaulthtpClient; import org.apache.http.impl.client.defaulTHtpClient2; impor org.apache.http.params.httpconnectionparams; impor org.apache.htparparamspcaramsetparams; impor org.apache.htparparamspcarams; org.apache.http.protocol.basichttpcontext; impor org.apache.http.protocol.executionContext; import org.apache.http.protocol.httpcontext; org.apache.http.util.entity.entity; Technology*[email protected]*/public class test1 {public static void main (string [] args) melempar clientprotocolexception, ioException, InterruptedException {getRawHtml ("http://club.autohome.com.cn/bbs/forum-c-2098-1.html#pvareaid=103447");} public getrawhtml (string URL) melempar clientprotocepion, ioException {IoException {IoException, ioException, ioException, ioException {IoException, ioException, ioException, ioException, ioException, ioException, ioException, IoException, IoException, IoException, IoException, IoException, IoException, IoException, IoException, httpClient = DEFAULTHTTPCLIENT (); httpclient.getParams (). SetParameter ("http.protocol.cookie-policy", cookiepolicy.browser_compatibility); // setel (httpparams cookiepolicy.browser. Httpconnectionparams.setConnectionTimeout (params, 6000); httpconnectionParams.setsoTimeout (params, 6000*20); // waktu tunggu lagi baru-baru ini compaultprequestretller (5, 5, True); True); True); Basichttpcontext (); httpRequest request2 = (httpRequest) localcontext.getAttribute (executionContext.http_request); httpclient.sethttpRequestRetryHandler (DHR); BASICCOOKIESTORE COOKOSTOREOSTORE = BASICCOOKERORE NEWNCOOKORE (); DHR); BASICCOOKIESTORE COOKOSTORE = BASICCOOKERORE BARU (); BasicClientCookie2("Content-Type","text/html;charset=UTF-8");BasicClientCookie2 cookie1 = new BasicClientCookie2("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 "); cookiestore.addcookie (cookie); cookiestore.addcookie (cookie1); localcontext.setAttribute (clientcontext.cookie_store, cookiesttore); httpget permintaan = httpget baru (); request.seturi (Urri.creat (UrriL (create = new httpget (); request.seturi (Urri. RAWHTML = ""; response = httpclient.execute (permintaan, localcontext); int statuscode = response.getstatusLine (). getstatusCode (); // dapatkan sistem status respons.out.println (statuscode); if (statuscode == 200) {// statuscode 200 menunjukkan bahwa respons berhasil // dapatkan konten entitas rawHtml = entityutils.tostring (response.getEntity ()); System.out.println (rawHtml); // output entitas entitas entitas. Istirahat 30 menit} httpclient.close (); System.out.println (rawhtml); return rawHtml;}}
hasil:
Meringkaskan
Di atas adalah semua konten dari artikel ini tentang kode solusi java Web Crawler Connection Timeout, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!