Цитата:
Этот метод предложил Champion, а я вообще плохо понимаю, что я тут делаю))) чисто интуитивно )))Кроме того, не вижу действия для "плохих прокси" (а есть только для "хороших", как я понял)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $check = dbquery("SELECT proxies_id, proxies_good FROM ".DB_PROXIES." ORDER BY proxies_id");
- function tryProxy($proxy) { // $proxy подразумевается, что имеет вид ip:port (111.111.111.111:3128)
- $failed = 0; // счетчик неудачных попыток
- for($i = 0; $i < 5; $i++) { // 5 раз пробуем получить тестовую страницу
- if (++$failed > 2) // если произошло более 2 неудач, заканчиваем с этим прокси. Ретурн прям тут должен быть. Ретурн false можно поставить тут
- }
- return $failed; // а тут retuen true...
- }
- while ($row = dbarraynum($check)) {
- if (tryProxy($row['proxies_good']) == 2) { // А тут просто написать if (tryProxy($row[...]))
- dbquery("INSERT INTO ".DB_PROXY_RES." (proxy_res_bad)");
- dbquery("DELETE FROM ".DB_PROXIES."");
- }
- }
- redirect(FUSION_SELF.$aidlink);
- }