Пятница, 03.01.2025, 14:37
Меню сайта
Категории раздела
JQuery плагины [59]
JQuery уроки [69]
PHP полезное [24]
PHP уроки [21]
Css [26]
JS [3]
SQL [9]
Css 3 [17]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » PHP полезное

Использование cURL в Php

Начнем с рассмотрения ее основных возможностей, а в последующих постах займемся примерами: curl авторизация, curl куки, и т.п. и закончим созданием плагина для WordPress, который будет автоматически, выдавая себя за браузер, добавлять каждый Ваш новый пост в один из сервисов закладок (в какой пока не скажу). Но обо всем по порядку.

Введение
cURL (libcurl) – библиотека для передачи информации между клиентским местом и сервером по протоколам http, https, ftp, ftps, ldap, telnet ( в дальнейшем я буду рассматривать работу с http). По-сути использование curl намного упрощает жизнь программиста, занимающегося парсингом данных с различных сервисов не имеющих api интерфейсов, позволяя реализовывать скрипты, имитирующие например web-браузер или ftp-клиент, при этом избавляя от необходимости ручного формирования пакетов. Разумеется для работы с библиотекой необходимы базовые представления о работе того или иного протокола, т.е. если далее речь зайдет о http, то необходимо примерно знать для чего нужны куки, какими методами передаются данные (post, get), что такое заголовки http пакетов и какого рода информация в них содержится. На эту тему советую ознакомиться с материалом из Википедии о http.

Подключение библиотеки
Для подключения curl в php под win необходимо раскомментировать в php.ini строчку:
;extension=php_curl.dll . Для unix платформ требуется установить пакет libcurl и пересобрать php c опцией –with-curl. На официальном сайте php есть подробный мануал про установке и использованию curl. Определить, включена ли библиотека cURL в php, можно узнать, выполнив phpinfo().

Обзор функций и пример
Работа с cURL в php сводится к вызову четырех основных функций:

  • curl_init – инициализация сеанса
  • curl_exec – выполнение запроса
  • curl_setopt – установка параметров
  • curl_close – закрытие сеанса

Рассмотрим простейший пример:

//инициализируем сеанс
$curl = curl_init();
//указываем адрес страницы
curl_setopt($curl, CURLOPT_URL,'http://test.com/'); 
//представляемся серверу браузером Opera версии 10.00
curl_setopt($curl, CURLOPT_USERAGENT, 'Opera 10.00');
//ответ сервера сохранять в переменную, а не на экран
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//выполняем запрос, результат в переменную $res
$res = curl_exec($curl);
 
if(!$res)
 {
 //для обработки ошибок curl
 $error = curl_error($curl).'('.curl_errno($curl).')';
 echo $error;
 }
else
 {
 echo $res;
 }

Если все настроено правильно, то на экран выведется "морда”, того сайта, который вы указали. Вся страница хранится в переменной $res и с ее контентом мы можем делать все что захотим. Как Вы уже наверно догадались, можно создать скрипт-робот, который будет "передвигаться” от страницы к страницы и получать нужную для нас информацию. Проблемы с которыми он (робот) может столкнуться – необходимость передавать и устанавливать куки и авторизироваться, к счастью curl имеет встроенный для этого функционал, который мы рассмотрим в следующей статье.

Категория: PHP полезное | Добавил: ChronoW (27.11.2012)
Просмотров: 814 | Теги: Curl, php | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: