Black Seo Way
Тёмная сторона оптимизации

Примеры практического применения cURL в PHP

20 Сентябрь 2011

Пост прежде всего для себя пишу, т.к. часто нужно что то накодить, а гуглить заёбывает однако. Ну и возможно пост поможет новичкам-кодерам.

Поехали, функция – применение

1. Получение страницы (аналог file_get_contents).

function davai_url($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    $res=curl_exec($ch);
    return $res;
    curl_close($ch);
}

echo davai_url('http://yarikseo.ru/');

2. Передача cookie

function davai_url_cookie($url,$cookname,$cookvalue) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_COOKIE,"$cookname=$cookvalue");
    $res=curl_exec($ch);
    return $res;
    curl_close($ch);
}

echo davai_url_cookie('http://yarikseo.ru/','admin','password')

3. Работа через прокси

function davai_url_proxy($url,$proxy) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_PROXY, "$proxy");
    $res=curl_exec($ch);
    return $res;
    curl_close($ch);
}

echo davai_url_proxy('http://yarikseo.ru','255.255.255.255:8080')

4. Работа через соксы (5)

function davai_url_socks($url,$socks) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
    curl_setopt($ch, CURLOPT_PROXY, "$socks");
    $res=curl_exec($ch);
    return $res;
    curl_close($ch);
}

echo davai_url_socks('http://yarikseo.ru','255.255.255.255:8080')

5. Проверка доступности сайта

function check_200($url) {
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_NOBODY,true);
    curl_setopt($ch,CURLOPT_HEADER,true);
    $out=curl_exec($ch);
    curl_close($ch);
    if (strstr($out,'200 OK')) return true; else return false;
}

// Применение
if(check_200('http://yarikseo.ru/')) echo "Доступен"; else echo "Не доступен";

Ну вот, в принципе и всё, что нужно :)
Для базовых знаний – самое то.

Dash Berlin – Till The Sky Falls Down

  • Admin

    ошибки в коде специально оставлены?

  • http://yarikseo.ru Ярик

    Поправь, пожалуйста.
    Часть писал без проверки

  • http://yarikseo.ru Ярик

    Убрал лишние скобки в 5 примере. Всё ок?

  • alexfds dfef

    «Получение страницы (аналог file_get_contents).
    function davai_url($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    $res=curl_exec($ch);
    return $res;
    curl_close($ch);
    }

    echo davai_url(‘http://yarikseo.ru/‘);» – тут не понятно, если ты получаешь страницу, зачем Тебе нужны заголовки:)))? Обычно в таком случае  
    curl_setopt($ch, CURLOPT_HEADER, true); не ставят.
     

  • alexfds dfef

    Ярик, не в обиду, хуйню всякую пишешь(((, о СЕО практически ничего

  • http://yarikseo.ru Ярик

    Писать реально нечего :)
    могу статы спалить и конверт , но кому от этого будет лучше? :)

  • http://yarikseo.ru Ярик

    Убрал

  • alexfds dfef

    Ярик, про Курл в инете дохера и более источников. Я даже себе книжку(она правда на англицком написано, но читается, кстати, легко))). Там какой – то индус очень подробно расписал работу с Курл. Если хочешь, поделюсь)

  • alexfds dfef

    Спали) Мне интересно) В какой теме работаешь? Рунет или буржунет?

  • http://yarikseo.ru Ярик

    кидай конечно – yarikseo@gmail.com. Лишним не будет

  • http://yarikseo.ru Ярик

    И рунет и буржунет :)
    [ссылка]

    ))) хватит?

  • alexfds dfef

    Прости за вопрос: стата за какой период: день, неделя, месяц?

  • http://yarikseo.ru Ярик

    15 сентября.
    Сегодня поболее наверное

  • http://yarikseo.ru Ярик

    Стату почистил

  • ZyXEL

    curl_setopt($ch, CURLOPT_ENCODING , »);

    тоже полезная вещь. если сайт может отдавать странички в сжатом виде – то так и передаст, гзип или другое что-то, а если нет – то просто вернёт не сжатую страничку.

  • Андрей Швецов

    return  в конце в функции писать надо

Контакты

  • ICQ: 485191792
  • Skype: msp-yarik
  • Mail: yarikseo@gmail.com
  • Лента в твиттере
  • Блоги, которые я читаю

    Прочее



    Копиврайт © 2009 .. 2010 .. 2011
    Black Seo Way yarikseo.ru. Lets go!