За последние 24 часа нас посетили 53389 программистов и 1765 роботов. Сейчас ищут 1527 программистов ...

cURL с прокси

Тема в разделе "PHP для новичков", создана пользователем Sice, 25 июн 2015.

  1. Sice

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

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Добрый день, друзья. Пытаюсь использовать cURL с прокси для отправки запросов на свой сайт, чтобы проверить модуль "распознования", но почему-то отправляется только один запрос и на этом и скрипт останавливается... не пойму почему.. вот код:
    Код (PHP):
    1. <?php
    2. $proxy[1] = '112.120.243.28:8080';
    3. $proxy[2] = '135.154.71.21:8080';
    4. $proxy[3] = '182.154.71.22:8080';
    5. $proxy[4] = '109.154.71.23:8080';
    6. $proxy[5] = '18.121.231.206:8080';
    7. $proxy[6] = '144.121.249.103:8080';
    8. $proxy[7] = '62.106.6.42:8080';
    9. $proxy[8] = '82.93.101.41:8080';
    10. $proxy[9] = '22.64.121.7:8080';
    11. $proxy[10] = '91.61.101.30:8080';
    12.  
    13. function get_page_get($page,$proxy) {
    14.     $curl = curl_init();
    15.     curl_setopt($curl, CURLOPT_URL, $page); 
    16.     curl_setopt($curl, CURLOPT_PROXY, $proxy);
    17.     curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");
    18.     curl_setopt($curl, CURLOPT_FAILONERROR, 1);
    19.     curl_setopt($curl, CURLOPT_REFERER, 'http://www.ssss33.com/rasp.php');
    20.     curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    21.     curl_setopt($curl, CURLOPT_HEADER, 0);
    22.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    23.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    24.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    25.     $result = curl_exec($curl);
    26.     curl_close($curl); 
    27.     return $result;
    28. }
    29.  
    30. foreach($proxy as $prx){
    31.     get_page_get('http://www.ssss33.com/rasp.php',$prx);
    32. }
    33.  
    34. ?>
    Подскажите пожалуйста, как сделать, чтобы отправлялись именно 10 запросов (10 прокси у меня в массиве), поочередно за одно выполнение скрипта. Заранее большое спасибо.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    for, foreach
     
  3. Sice

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

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Я использую foreach
    Код (PHP):
    1. foreach($proxy as $prx){
    2.     get_page_get('http://www.ssss33.com/rasp.php',$prx);
    3. }
    4.  
    но он почему-то берёт только один адрес
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а ты в этом на все 100% уверен?? ))

    попробуй для достоверности сделать вот такой код
    Код (Text):
    1.  
    2.     <?php
    3.     $proxy[1] = '112.120.243.28:8080';
    4.     $proxy[2] = '135.154.71.21:8080';
    5.     $proxy[3] = '182.154.71.22:8080';
    6.     $proxy[4] = '109.154.71.23:8080';
    7.     $proxy[5] = '18.121.231.206:8080';
    8.     $proxy[6] = '144.121.249.103:8080';
    9.     $proxy[7] = '62.106.6.42:8080';
    10.     $proxy[8] = '82.93.101.41:8080';
    11.     $proxy[9] = '22.64.121.7:8080';
    12.     $proxy[10] = '91.61.101.30:8080';
    13.  
    14.     function get_page_get($page,$proxy) {
    15.         $curl = curl_init();
    16.         curl_setopt($curl, CURLOPT_URL, $page);
    17.         curl_setopt($curl, CURLOPT_PROXY, $proxy);
    18.         curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");
    19.         curl_setopt($curl, CURLOPT_FAILONERROR, 1);
    20.         curl_setopt($curl, CURLOPT_REFERER, 'http://www.ssss33.com/rasp.php');
    21.         curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    22.         curl_setopt($curl, CURLOPT_HEADER, 0);
    23.         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    24.         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    25.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    26.         $result = curl_exec($curl);
    27.         curl_close($curl);
    28.        echo '<pre>';    //  <-- обрати внимание c этой строчки
    29.       print_r( $proxy . ' --- ' . $result );
    30.       echo '</pre>';
    31.         return $result;
    32.     }
    33.  
    34.     foreach($proxy as $prx){
    35.         get_page_get('http://www.ssss33.com/rasp.php',$prx);
    36.     }
    37.  
    38.     ?>
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    прокси коварная штука, я тут пытаюсь организовать парсер через прокси на C#, бывает такое сайт рабочий, а результат 404 или 403.