يدرس هذه المقالة بشكل رئيسي مشكلة مهلة اتصال شبكة Java ، على النحو التالي.
في زحف الشبكة ، غالبًا ما تتم مواجهة الأخطاء التالية. وهذا هو ، الاتصال التوقيت خارج. لهذه المشكلة ، فإن الحل العام هو: تعيين وقت الاتصال وطلب وقت لفترة أطول من الوقت. في حالة حدوث مهلة الاتصال ، أعد التردد [تعيين عدد عمليات إعادة الاسترداد].
استثناء في الموضوع "الرئيسي" java.net.connectException: توقيت الاتصال: الاتصال
الكود التالي هو برنامج عينة يستخدم HTTPClient لحل مهلة الاتصال. انتقل مباشرة إلى البرنامج.
package daili ؛ import java.io.ioException ؛ import java.net.uri ؛ import org.apache.http.httprequest ؛ import org.apache.http.httprespons org.apache.http.client.params.cookiepolicy ؛ import org.apache.http.client.protocol.clientcontext ؛ import org.apache.http.impl.client.basicoistore org.apache.http.impl.client.defaulthttpclient ؛ import org.apache.http.impl.client.defaulthttpclient2 ؛ import org.apache.http.params.httpconnectionparams ؛ import org.http.params.htttparams ؛ org.apache.http.protocol.basichttpcontext ؛ import org.apache.http.protocol.executioncontext ؛ import org.apache.http.protocol.httpContex Technology*[email protected]*/public class test1 {public static void main (string [] {getrawhtml ("http://club.autohome.com.cn/bbs/forum-c-2098-1.html#pvareaid=103447") ؛ httpclient = new defaulthttpclient () ؛ httpclient.getParams (). httpconnectionparams.setConnectionTimeOut (params ، 6000) ؛ httpconnectionparams.setsotimeout (params ، 6000*20) ؛ // timeout إعادة التردد basichttpcontext () ؛ httprequest request2 = (httprequest) localContext.getAttribute (executionContext.http_request) ؛ httpclient.sethtttprequestretryhandler (dhr) ؛ BasicClientCoOkie2 ("نوع المحتوى" ، "text/html ؛ charset = utf-8") ؛ basicclientCoOkie2 cookie1 = new basicclientcookie2 ("user-ogent" ، "mozilla/5.0 (windows nt 10.0 ؛ wow64) Applewebkit/537.36 (khtml ، like gecko) Safari/537.36 ") ؛ cookiestore.addcookie (ملف تعريف الارتباط) ؛ cookiestore.addcookie (cookie1) ؛ localContext.setTritive (clientContext.cookie_store ، cookiestore) ؛ httpget request = new httpget () ؛ request.seturi (uri.crate (url) RAWHTML = "" ؛ reponse = httpclient.execute (request ، localContext) ؛ int statusCode = response.getStatusLine (). if (statusCode == 200) {// statusCode 200 يشير إلى أن الاستجابة ناجحة // الحصول على محتوى الكيان rawHtml = entityUtils.ToString (response.getentity ()) ؛ system.out.println (rawHtml) ؛ // إخراج محتوى الكيان entityutils.consume (reponse.getentity ()) ؛ // الكيان الاستهلاك} آخر {// أغلق كيان التدفق من httpentityutitils.consume (response.getentity ()) ؛ استراحة لمدة 30 دقيقة} httpclient.close () ؛ system.out.println (RawHtml) ؛ return RawHtml ؛}}
نتيجة:
لخص
ما ورد أعلاه هو كل محتوى هذه المقالة حول رمز حلول مهلة Crawler Connection Java ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!