Пример работы с cURL
В прошлых статьях мы с Вами познакомились с модулем cURL и ознакомились с областью его применения. И вот настало время приступить к его использованию уже в реальных PHP-скриптах. И в этой статье я Вам покажу пример работы с cURL в PHP.
Давайте реализуем простейшую задачу и считаем содержимое главной страницы MyRusakov.ru в переменную, а после выведем её на страницу:
<?php
if( $curl = curl_init() ) {
curl_setopt($curl,CURLOPT_URL,'http://myrusakov.ru');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>
Если Вы вдруг увидите ошибку: "Fatal error: Call to undefined function curl_init() in Z:\home\temp.local\www\index.php on line 2", то значит Вы не установили модуль cURL. Поэтому сначала прочитайте статью установка cURL на Denwer.
А если никаких ошибок не возникнет, то после запуска этого скрипта Вы увидите содержимое главной страницы сайта MyRusakov.ru.
Всё начинается с curl_init(). Данная функция инициализирует сеанс cURL. С этой строки всё и начинается. Если по каким-либо причинам это не удаётся, то функция возвращает false, и мы уходим из блока IF. А если всё хорошо, и функция вернула true, то интерпритатор PHP заходит внутрь IF и начинаем выполнять следующие шаги.
Функция curl_setopt позволяет настраивать определённые опции cURL. Этих опций достаточно много, но задаются они все одинаково:
- 1-й параметр. Идентификатор сеанса cURL.
- 2-й параметр. Название опции cURL.
- 3-й параметр. Значение опции cURL.
В примере выше мы задали для опции "CURLOPT_URL" значение "http://myrusakov.ru". А опции "CURLOPT_RETURNTRANSFER" присвоили значение true. А теперь о том, что эти две опции означают:
- Опция "CURLOPT_URL". В этой опции задаётся тот URL, с которым мы будем работать в текущем сеансе cURL.
- Опция "CURLOPT_RETURNTRANSFER". Эта опция позволяет настроить тип вывода ответа от сервера: выводить сразу в браузер (значение false) или же возвращать ответ (значение true).
Следующим шагом является выполнение запроса cURL, и это делается с помощью функции curl_exec(), принимающей идентификатор сеанса cURL. Так как мы поставили опцию "CURLOPT_RETURNTRANSFER" в значение true, то ответ от сервера возвратится и сохранится в переменную $out, которую мы затем выводим.
И, наконец, последний шаг - это закрытие сеанса cURL, что делается с использованием функции curl_close(), принимающей тот же идентификатор cURL.
Вот такой Hello World в работе с cURL. В следующей статье мы продолжим знакомиться с этим бесспорно очень интересным и простым модулем для PHP.
-
- Михаил Русаков
Комментарии (1):
Для интереса решил поставить значение false для опции CURLOPT_RETURNTRANSFER, но ничего не изменилось. Пробовал на основе вашего сайта. Чем это вызвано и почему?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.