Простой php прокси чекер с использованием curl_multi
Требования:
php: 4/5
curl: on
safe mode: off
Настройка:
Установить собсвенные значения тамаутов (см CURLOPT_CONNECTTIMEOUT и CURLOPT_TIMEOUT)
Код (checker.php):
- <?php
- $proxies = file ("proxies.txt");
- $mc = curl_multi_init ();
- for ($thread_no = 0; $thread_no<count ($proxies); $thread_no++)
- {
- $c [$thread_no] = curl_init ();
- curl_setopt ($c [$thread_no], CURLOPT_URL, "http://google.com");
- curl_setopt ($c [$thread_no], CURLOPT_HEADER, 0);
- curl_setopt ($c [$thread_no], CURLOPT_RETURNTRANSFER, 1);
- curl_setopt ($c [$thread_no], CURLOPT_CONNECTTIMEOUT, 5);
- curl_setopt ($c [$thread_no], CURLOPT_TIMEOUT, 10);
- curl_setopt ($c [$thread_no], CURLOPT_PROXY, trim ($proxies [$thread_no]));
- curl_setopt ($c [$thread_no], CURLOPT_PROXYTYPE, 0);
- curl_multi_add_handle ($mc, $c [$thread_no]);
- }
-
- do {
- while (($execrun = curl_multi_exec ($mc, $running)) == CURLM_CALL_MULTI_PERFORM);
- if ($execrun != CURLM_OK) break;
- while ($done = curl_multi_info_read ($mc))
- {
- $info = curl_getinfo ($done ['handle']);
- if ($info ['http_code'] == 301) {
- echo trim ($proxies [array_search ($done['handle'], $c)])."\r\n";
- }
- curl_multi_remove_handle ($mc, $done ['handle']);
- }
- } while ($running);
- curl_multi_close ($mc);
- ?>
ПОНРАВИЛСЯ PHP PROXY CHECKER?
А хотите добавить свой функционал? Или может создать полноценный сервис раздачи proxy? Нет проблем, сделаем! Пишите прямо сейчас icq: 781-741
А хотите добавить свой функционал? Или может создать полноценный сервис раздачи proxy? Нет проблем, сделаем! Пишите прямо сейчас icq: 781-741
7 коммент.:
nice pussy blog! :) http://private-seo-soft.blogspot.com/
инеговорите ... :)
http://zloyweb.ru/zacon/370-svezhie-proksi-onlajn.html вот он работает
круто ) я и не знал что курл поддерживает многопоточность
а как добавить новое задание в освободившийся сокет?
А как проверять в случае, если сайт требует наличия куков? fl.ru к примеру как проверить?
Отправить комментарий