За последние 24 часа нас посетили 52753 программиста и 1768 роботов. Сейчас ищут 1064 программиста ...

curl_multi - проверка проксей/соксов

Тема в разделе "Прочие вопросы по PHP", создана пользователем ThUG, 30 мар 2007.

  1. ThUG

    ThUG Активный пользователь

    С нами с:
    30 мар 2007
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте...

    Никак не могу совладать с curl_multi - если пытаюсь проверить список соксов, то выполнение идет последовательно, хотя по всему должно быть параллельно...

    PHP:
    1.  
    2.  
    3. foreach ($proxyes as $i => $proxy) {
    4.        $conn[$i]=curl_init($url);
    5.        curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1);//return data as string
    6.        curl_setopt($conn[$i],CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);//follow redirects
    7.        curl_setopt($conn[$i],CURLOPT_PROXY,$proxy);//maximum redirects
    8.        curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,5);//timeout
    9.        curl_multi_add_handle ($mh,$conn[$i]);
    10. }
    11.  
    12. do { $n=curl_multi_exec($mh,$active); } while ($active);
    13.  
    14. foreach ($proxyes as $i => $proxy) {
    15.              echo "$proxy error: ".curl_error($conn[$i])."<br>";
    16.        $res[$i]=curl_multi_getcontent($conn[$i]);
    17.        echo strlen($res[$i])." bytes<br>";
    18.        curl_multi_remove_handle($mh,$conn[$i]);
    19.        curl_close($conn[$i]);
    20. }
    21.  
    Таймаут на коннект стоит 5 секунд, при этом результат выполнения для списка из 10 соксов:

    Код (Text):
    1.  
    2. 87.59.16.199:41993 error: Failed to receive SOCKS5 connect request ack.
    3. 76.16.208.64:3703 error: SOCKS5: connection timeout
    4. 58.105.47.201:10695 error: SOCKS5: connection timeout
    5. 125.212.218.40:16685 error: SOCKS5: connection timeout
    6. 71.239.95.176:37803 error: Unable to receive initial SOCKS5 response.
    7. 213.112.192.193:46143 error: SOCKS5: connection timeout
    8. 69.216.139.12:41127 error: Connection time-out after 32183 ms
    9. 68.23.38.157:57677 error: Connection time-out after 32808 ms
    10. 210.116.149.218:64323 error: Failed to receive SOCKS5 connect request ack.
    11. 59.86.194.105:25486 error: Unable to receive initial SOCKS5 response.
    Почему на некоторых соксах таймаут достиг 32 секунд ?
    Заранее спасибо за ответ...
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а на кой ты их проверяешь?
     
  3. ThUG

    ThUG Активный пользователь

    С нами с:
    30 мар 2007
    Сообщения:
    4
    Симпатии:
    0
    Чтобы отделить неработоспособные :)
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    это и понятно.

    а зачем тебе работоспособные? дальше-то что?
    =)
     
  5. ThUG

    ThUG Активный пользователь

    С нами с:
    30 мар 2007
    Сообщения:
    4
    Симпатии:
    0
    Для организации цепочки, но вопрос-то не в том куда дельше это применять :)

    Отчегу курл так долго ждет ? Скорость канала ?
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    именно в этом, друг мой...
     
  7. ThUG

    ThUG Активный пользователь

    С нами с:
    30 мар 2007
    Сообщения:
    4
    Симпатии:
    0
    И с каких пор использование цепочки соксов - запрещенный прием ?
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    так скажи, зхачем тебе эта цепочка?
    =)
     
  9. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    цепочки это здорово, их можно куданибудь вешать, чтонибудь тянуть или засовывать особенно если они из анонимных звеньев. -)