Проблема с функцией

Тема в разделе "PHP", создана пользователем rex1963, 29 мар 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rex1963

    rex1963

    Регистр.:
    19 фев 2007
    Сообщения:
    228
    Симпатии:
    47
    Возникла проблема

    Функция:
    PHP:
    function CurlPage($path)
    {
    $ch curl_init ($path);
    @
    curl_setopt $chCURLOPT_RETURNTRANSFER,1);
    @
    curl_setopt $chCURLOPT_VERBOSE,1);
    @
    curl_setopt $chCURLOPT_HEADER);
    @
    curl_setopt $chCURLOPT_FOLLOWLOCATION,1);
    $content = @curl_exec ($ch);
    $info curl_getinfo($ch);
    @
    curl_close $ch );

    return 
    $content;
    }
    Не выдает результат, а если вывести код из функии, то есть сделать так:
    PHP:
    $ch curl_init ($path);
    @
    curl_setopt $chCURLOPT_RETURNTRANSFER,1);
    @
    curl_setopt $chCURLOPT_VERBOSE,1);
    @
    curl_setopt $chCURLOPT_HEADER);
    @
    curl_setopt $chCURLOPT_FOLLOWLOCATION,1);
    $content = @curl_exec ($ch);
    $info curl_getinfo($ch);
    @
    curl_close $ch );
    echo 
    $content;
    результат выводится.
    В чем может быть проблема?
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    562
    Во-первых: нахрена столько собак @?Ты не боишся, что пи отладке будет ошибка, которая не выведится и ты будешь гадать?
    2- надеюсь ты делал echo CurlPage($path) ?
    3- попробуй посмотреть, что в массиве print_r($info)
     
    rex1963 нравится это.
  3. rex1963

    rex1963

    Регистр.:
    19 фев 2007
    Сообщения:
    228
    Симпатии:
    47
    Блин, запара:D Спасибо.

    Попутал переменные. Все пошло гуд.
    Еще такой вопрос, подключаюсь у удаленной странице, а выдачи нет.
    В браузере отдается, а c CURL получить не могу:confused:

    Отдается 403 ошибка.
    Мутил заголовки в запросе, с куками возился:
    PHP:
    $agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/3.0.0" ;
        
    // ставим, что наш броузер читает только файлы в html формате
    $header [] = "Accept: text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5" ;
    $header [] = "Accept_charset: windows-1251, utf-8, utf-16;q=0.6, *;q=0.1";
        
    // говорим, что броузер не читает файлы в gzip формате
    $header [] = "Accept_encoding: identity";
    $header [] = "Accept_language: en-us,en;q=0.5";
    $header [] = "Connection: close";
    $header [] = "Cache-Control: no-store, no-cache, must-revalidate";
    $header [] = "Keep_alive: 300";
    $header [] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT";
    Результат 0.
    Заголовки в браузере:
    PHP:
    DateSun29 Mar 2009 09:43:11 GMT
    Server
    Apache
    Expires
    Thu19 Nov 1981 08:52:00 GMT
    Cache
    -Controlno-storemust-revalidatemax-age=0proxy-revalidateno-transform
    Vary
    Accept-Encoding,User-Agent
    Pragma
    no-cache
    Content
    -Typetext/htmlcharset=utf-8
    X
    -CacheMISS from demil1.byetcluster.com
    X
    -Cache-LookupMISS from demil1.byetcluster.com:80
    Via
    1.1 demil1.byetcluster.com:80 (squid/2.7.STABLE6-20090211)
    Connectionclose

    200 OK
     
  4. GoodLuck777

    GoodLuck777 Создатель

    Регистр.:
    25 май 2008
    Сообщения:
    14
    Симпатии:
    1
    http://ru.wikipedia.org/wiki/HTTP_403
    Ошибка 403 - доступ к странице запрещен. Думай почему такое происходит, с одного IP открываешь сайт браузером и скриптом?

    К тому же, не видно чтобы у тебя заголовки в скрипте на 100% совпадали с тем что тебе браузер выдает, попробуй настрой один в один.
     
  5. rex1963

    rex1963

    Регистр.:
    19 фев 2007
    Сообщения:
    228
    Симпатии:
    47
    да вроде эту проблему решил кое как, но теперь выползло другое

    Делаю запрос:
    PHP:
    $ch curl_init();
    curl_setopt_array($ch,
      array(
     
    CURLOPT_RETURNTRANSFER => 1,
     
    CURLOPT_NOBODY => 1,
     
    CURLOPT_TIMEOUT => 20,
     
    CURLOPT_URL => $url ));

    curl_exec($ch);

    $info curl_getinfo($ch);
    curl_close($ch);
    print_r($info);
    В массиве одни нули.

    Не могу организовать проверку урлов по $info[http_code] == 200.:nezn:
     
Статус темы:
Закрыта.