За последние 24 часа нас посетили 22745 программистов и 1225 роботов. Сейчас ищут 725 программистов ...

cURL не получает страницу

Тема в разделе "PHP для новичков", создана пользователем blackbanny, 16 ноя 2012.

  1. blackbanny

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

    С нами с:
    16 фев 2011
    Сообщения:
    89
    Симпатии:
    0
    пишу следующий код:
    Код (Text):
    1. $url = "http://yandex.ru/yandsearch?text=запрос&lr=65&numdoc=50&p=0";
    2. $data = "";
    3.          if ($ch = curl_init())
    4.         {
    5.             curl_setopt($ch, CURLOPT_URL, $url);
    6.             curl_setopt($ch, CURLOPT_HEADER, false);
    7.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    8.             curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    9.             curl_setopt($ch, CURLOPT_USERAGENT, 'PHP');
    10.             $data = curl_exec($ch);
    11.             if (empty($data)) {
    12.                 echo "EMPTY DATA<br />";
    13.             } else {
    14.                 echo $data;
    15.             }
    16.             //print_r(curl_getinfo($ch));  
    17.             //echo "\n\ncURL error number:" .curl_errno($ch);  
    18.             //echo "\n\ncURL error:" . curl_error($ch);
    19.             curl_close($ch);
    20.         } else {
    21.             echo 'FAIL';
    22.         }
    выводит: "EMPTY DATA"
    подскажите, почему не получает страницу?
     
  2. demyan1

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

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    у меня на localhost всё работает и выдаёт страницу яндекса
     
  3. blackbanny

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

    С нами с:
    16 фев 2011
    Сообщения:
    89
    Симпатии:
    0
    написал так, все ок:
    Код (Text):
    1. $refer ="http://ya.ru/";
    2.         $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt';
    3.         $ch = curl_init($url);
    4.         curl_setopt($ch, CURLOPT_URL, $url);
    5.         curl_setopt($ch, CURLOPT_HEADER, 1);
    6.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    7.         curl_setopt($ch, CURLOPT_REFERER, "http://www.yandex.ru");
    8.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    9.         curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
    10.         curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
    11.         $codePage = curl_exec($ch);
    12.         curl_close($ch);