Прокси timeout алдаа: Холболт гацаж, улмаар тасалдана
Updated:
Timeout нь бусад алдаанаас илүү төвөгтэй байдаг, учир нь ямар ч тайлбаргүй: татгалзсан хариу байхгүй, нууц үг нэхэхгүй, зүгээр л таны программ шаардахаа болих хүртэл чимээгүй байна. Ихэвчлэн таны пакетууд хаа нэгтээ алга болсон, эсвэл прокси холболтыг хүлээн авсан ч хугацаандаа хариу өгөхгүй байна гэсэн үг юм. Гол зорилго нь энэхүү чимээгүй байдал аль шатанд үүсэж байгааг тодорхойлох явдал юм.
Бидний хэмжсэн timeout-ийн гурван үр дүн
Бид TCP холболтыг хүлээн авдаг боловч хэзээ ч хариу өгдөггүй туршилтын прокси тохируулж, улмаар ижил хүсэлтийг хоёр төрлийн хугацааны хязгаартайгаар ажиллуулж үзсэн (хаягийг 203.0.113.10:8080, user123:pass456 гэж өөрчилсөн):
curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.comкоманд ньcurl: (28) Proxy CONNECT aborted due to timeoutалдааг өгнө. Энэ хязгаар нь зөвхөн холболт тогтоох үе шатыг хамардаг.- Үүнийг
-m 10(бүх өгөгдөл дамжуулах хугацааны хязгаар)-аар сольсноорcurl: (28) Connection timed out after 10002 millisecondsалдаа өгнө. - Ижил прокси руу чиглүүлсэн Chromium нь
ERR_TIMED_OUTгэж мэдээлэх бөгөөд прокси шалгагч ньtimeoutгэж харуулна.
Шалтгаанууд (магадлал өндөртэйгөөс нь эхлэн)
- Таны сүлжээ проксийн портыг чимээгүй хааж байна. Оффис, зочид буудал болон их сургуулийн Wi-Fi нь үл мэдэгдэх портууд руу илгээсэн пакетуудыг татгалзахын оронд зүгээр л хаячихдаг тул та эцэс төгсгөлгүй хүлээхэд хүрдэг.
- Таны код дахь timeout хэт богино байна. Алс холын улс дахь проксид handshake хийхэд арай илүү хугацаа шаардагдах бөгөөд 2–3 секундийн хязгаар нь хэвийн ажиллаж буй проксийг тасалдуулж болзошгүй.
- Прокси эсвэл зорилтот сайт хэт ачаалалтай байна. Прокси холболтыг хүлээн авсан боловч вэбсайтыг хүлээж гацах бөгөөд таны хүлээх хугацаа түрүүлж дуусна.
- Буруу IP. Хариу өгдөггүй хаяг руу андуурч бичсэн үсгийн алдаа нь татгалзсан хариу өгөхийн оронд таг чимээгүй байдал үүсгэдэг.
Орчин бүрээр засах аргууд
- Windows/Chrome: тухайн проксийг утасныхаа мобайл датагаар туршиж үзээрэй. Хэрэв timeout арилвал үндсэн сүлжээ хааж байна гэсэн үг; прокси болон галт ханыг шалгах хэсгийг уншина уу.
- Antidetect хөтчүүд: прокси шалгах товч нь ихэвчлэн тогтсон хүлээх хугацаатай байдаг. Хэд хэдэн удаа дахин оролдож, хэрэв зөвхөн зарим профайл амжилтгүй болж байвал тэдгээрийн проксийн мөрийг ажиллаж байгаатай нь харьцуулж үзээрэй.
- Telegram: прокси идэвхжүүлсний дараа холбогдох төлөв дээр гацах нь ихэвчлэн мөн timeout байдаг; Telegram-ийн тохиргоог өөрчлөхөөсөө өмнө шалгагчаар проксийг шалгана уу.
- Python requests:
timeout=(10, 30)утгыг дамжуулснаар холбогдоход 10 секунд, уншихад 30 секунд зарцуулна гэсэн үг юм. Хаана гацаж байгааг харахын тулдrequests.exceptions.ConnectTimeoutболонrequests.exceptions.ReadTimeout-ийг тусад нь барьж (catch), хязгааргүй timeout тавихын оронд тодорхой зайтай хэд хэдэн дахин оролдлого (retry) нэмнэ үү. - curl: зөвхөн холболт тогтоох алхмыг хэмжихийн тулд
--connect-timeout-ийг, харин бүх командыг хязгаарлахын тулд-m-ийг ашиглана уу.
Timeout уу эсвэл зүгээр л удаан байна уу?
Удаан прокси хариу өгдөг хэвээр боловч зөвхөн хоцорч ирдэг. Проксийн хурд шалгагч нь бодит хариу өгөх хугацааг харуулдаг; хэрэв энэ нь таны программын timeout-тай ойрхон байвал хязгаарыг нэмэгдүүлэх эсвэл зорилтот газартай илүү ойр улсын проксийг сонгоорой. Хэрэв давтан туршилтуудад хэзээ ч хариу ирэхгүй байвал энэ нь жинхэнэ timeout бөгөөд шалгагчийн үр дүнг хавсарган тикет илгээх нь дараагийн алхам юм.
Алхам алхмаар
- 1
Шалгагчаар timeout-ийг баталгаажуулах
Проксийн мөрийг прокси шалгагч руу хуулж тавина уу.
timeoutгэсэн үр дүн нь хүлээх хугацаанд хариу ирээгүйг илтгэнэ. - 2
Асуудлыг тодорхойлохын тулд сүлжээгээ солих
Мобайл датагаар дахин оролдоно уу. Хэрэв ажиллаж байвал үндсэн сүлжээ эсвэл түүний галт хананд асуудал байна гэсэн үг.
- 3
Хариу өгөх хугацааг хэмжих
Прокси удаан байна уу эсвэл таг байна уу гэдгийг мэдэхийн тулд проксийн хурд шалгагч-ийг ажиллуулна уу.
- 4
Программынхаа timeout болон дахин оролдлогуудыг тохируулах
Холбогдох хязгаарыг ойролцоогоор 10 секунд болгон нэмэгдүүлж, дахин оролдлого нэмээд, даалгаврыг дахин ажиллуулна уу.
Түгээмэл асуултууд
Прокси timeout болсон нь прокси ажиллахаа больсон гэсэн үг үү?
Заавал тийм биш. Олон timeout нь хэрэглэгчийн сүлжээ портыг хааснаас болдог. Дүгнэлт хийхээсээ өмнө өөр сүлжээнээс шалгаж үзээрэй.
Код бичихдээ проксид зориулж ямар timeout тохируулах ёстой вэ?
Холбогдоход ойролцоогоор 10 секунд, уншихад 30 секунд байх нь тохиромжтой эхлэлийн цэг юм. Алсын зайн прокси эсвэл хүнд хуудсуудад илүү их хугацаа хэрэгтэй байж магадгүй.
Яагаад зөвхөн зарим вэбсайт проксигоор дамжих үед timeout өгдөг вэ?
Энэ тохиолдолд прокси хэвийн ажиллаж байгаа бөгөөд зорилтот сайт удаан эсвэл хааж байна гэсэн үг. Хэрэв сайт чимээгүй байхын оронд 502 алдаа заавал 502 Bad Gateway хэсгийг үзнэ үү.
Timeout нь татгалзсан холболтоос юугаараа ялгаатай вэ?
Татгалзсан хариу даруй ирдэг бол timeout нь хязгаар дуустал хүлээнэ. Холболтыг татгалзаж буй прокси сервер хэсгийг үзнэ үү.
Зорилтот зах зээлдээ ойр прокси сонгоорой
VinaProxy нь Вьетнам, АНУ, Япон, Өмнөд Солонгос, Сингапур, Их Британи болон Хонконг дахь IP-уудыг санал болгодог тул та зорилтот зах зээлтэйгээ ойр байх боломжтой.
Үнийн санал харах