Используем CURL в PHP

12-10-21 Php 0

В этом уроке мы научимся основам работы с CURL(Клиентская библиотека работы с URL) в PHP.

Немного теории. cURL.

В PHP включена поддержка libcurl — библиотеки функций, написанной Daniel Stenberg, которая позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap. libcurl также умеет работать с сертификатами HTTPS, посылать запросы к HTTP серверам методами POST и PUT, закачивать файлы по протоколам HTTP и FTP , использовать прокси-серверы, cookies и аутентификацию пользователей.

PHP.

Работа с cURL всегда начинается с вызова функции curl_init(). Затем следует установить необходимые параметры с помощью функции curl_setopt() и выполнить требуемую операцию функцией curl_exec(), после чего завершить сеанс вызовом curl_close(). Рассмотрим простой пример использования cURL. С помощью следующего кода мы получим содержимое страницы, адрес которой хранится в переменной $url:

$url = "http://www.example.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//для возврата результата в виде строки, вместо прямого вывода в браузер
$returned = curl_exec($ch);
curl_close ($ch);
echo $returned;

Допустим, нам необходимо передать какие-либо данные странице к которой мы обращаемся. Для этого установим параметр CURLOPT_POST для передачи методом POST. Пусть код страницы, к которой мы обращаемся выглядит так:

echo $_REQUEST['a']+$_REQUEST['b'];

Т.е. она будет возвращать сумму двух чисел, которые мы ей передадим. Код для получения результата:

$data=array("a"=>"6","b"=>"3");
$url = "http://example.com/testCURL.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$returned = curl_exec($ch);
curl_close ($ch);
echo $returned;

Таким образом мы получили содержимое страницы не переходя на нее.

Хочешь получать статьи на почту?

Подпишись на обновления!
* Ваш email не будет разглашен/продан. Вы сможете отписаться в любое время.

Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *