PHP прокси чекер (curl_multi)

Описание:
Простой php прокси чекер с использованием curl_multi

Требования:
php: 4/5
curl: on
safe mode: off

Настройка:
Установить собсвенные значения тамаутов (см CURLOPT_CONNECTTIMEOUT и CURLOPT_TIMEOUT)

Код (checker.php):
  1. <?php
  2. $proxies = file ("proxies.txt");
  3. $mc = curl_multi_init ();
  4. for ($thread_no = 0; $thread_no<count ($proxies); $thread_no++)
  5. {
  6. $c [$thread_no] = curl_init ();
  7. curl_setopt ($c [$thread_no], CURLOPT_URL, "http://google.com");
  8. curl_setopt ($c [$thread_no], CURLOPT_HEADER, 0);
  9. curl_setopt ($c [$thread_no], CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt ($c [$thread_no], CURLOPT_CONNECTTIMEOUT, 5);
  11. curl_setopt ($c [$thread_no], CURLOPT_TIMEOUT, 10);
  12. curl_setopt ($c [$thread_no], CURLOPT_PROXY, trim ($proxies [$thread_no]));
  13. curl_setopt ($c [$thread_no], CURLOPT_PROXYTYPE, 0);
  14. curl_multi_add_handle ($mc, $c [$thread_no]);
  15. }
  16.  
  17. do {
  18. while (($execrun = curl_multi_exec ($mc, $running)) == CURLM_CALL_MULTI_PERFORM);
  19. if ($execrun != CURLM_OK) break;
  20. while ($done = curl_multi_info_read ($mc))
  21. {
  22. $info = curl_getinfo ($done ['handle']);
  23. if ($info ['http_code'] == 301) {
  24. echo trim ($proxies [array_search ($done['handle'], $c)])."\r\n";
  25. }
  26. curl_multi_remove_handle ($mc, $done ['handle']);
  27. }
  28. } while ($running);
  29. curl_multi_close ($mc);
  30. ?>

ПОНРАВИЛСЯ PHP PROXY CHECKER?
А хотите добавить свой функционал? Или может создать полноценный сервис раздачи proxy? Нет проблем, сделаем! Пишите прямо сейчас icq: 781-741

5 коммент.:

Анонимный комментирует...

nice pussy blog! :) http://private-seo-soft.blogspot.com/

private-seo-soft комментирует...

инеговорите ... :)

Анонимный комментирует...

http://zloyweb.ru/zacon/370-svezhie-proksi-onlajn.html вот он работает

Sum комментирует...

круто ) я и не знал что курл поддерживает многопоточность

Анонимный комментирует...

а как добавить новое задание в освободившийся сокет?

Отправить комментарий