Как проверять прокси правильно

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
ololololo
Сообщения: 9
Зарегистрирован: 06 апр 2011, 01:54

Как проверять прокси правильно

Сообщение ololololo » 16 июн 2011, 00:41

Под правильно понимаю:
взяли строку из файла с проксями, сделали чек коннект, если за 15 сек законектилось - юзаем проксю, если нет, берем другую, чекаем её...

ololololo
Сообщения: 9
Зарегистрирован: 06 апр 2011, 01:54

Re: Как проверять прокси правильно

Сообщение ololololo » 17 июн 2011, 23:17

Что, никто не знает чтоли?

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Как проверять прокси правильно

Сообщение satih » 19 июн 2011, 05:42

Код: Выделить всё

// чтение проксей
$proxy_ar = file_get_contents('proxy.txt');
if (strpos($proxy_ar, "\r\n")) $proxy_ar = explode("\r\n", trim($proxy_ar));
else $proxy_ar = explode("\n", trim($proxy_ar));
// количество проксей
$num_proxies = count($proxy_ar);
// поинтер на проверяемый прокси
if (file_exists('position.txt')) $pos = file_get_contents('position.txt');
else $pos = 0;
// проверяем что не прошли весь список
if ($pos >= $num_proxies) {
	echo "add more proxies<br>";
	$app->quit();
}
// ищем живой прокси
while ($pos < $num_proxies) {
	$curl = curl_init("http://m.bing.com/");
	curl_setopt($curl, CURLOPT_PROXY, $proxy_ar[$pos]);
	curl_setopt($curl, CURLOPT_TIMEOUT, 15);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$res = curl_exec($curl);
	curl_close($curl);
	if (!empty($res) && strpos($res, 'm.bing.com')) {
		$browser->enable_proxy('all connections', $proxy_ar[$pos]);
		break;
	}
	file_put_contents('position.txt', ++$pos);
}

Ответить