Библиотека curl, установленная на web-сервере, позволяет этому веб-серверу выступать в качестве http-клиента, например, загрузить страничку с другого сайта. Кроме того, поддерживаются другие протоколы - HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET и FILE. Библиотека curl - Open Source продукт с оригинальной MIT/X лицензией, позволяющей использовать этот пакет в любых: как коммерческих, так и некоммерческих целях, включать ее в свой дистрибутив (даже если он распространяется без открытого исходного кода).
О том, включена ли поддержка cURL в php на Вашем сервере, вы можете узнать, выполнив phpinfo():
1. Запрос из *nix командной строки (у меня на Agava это работает):
В консоль выведется текст сайта zend.com.
2. Использование в PHP-коде для вывода содержимого другого сайта:
< ?php
// инициализация сеанса
$ch = curl_init();
// установка URL и других параметров
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/search?hl=ru&q=AAA+site%3Amicrosin.ru&lr=");
curl_setopt($ch, CURLOPT_HEADER, 0);
// загрузка страницы и выдача её браузеру
curl_exec($ch);
// завершение сеанса и освобождение ресурсов
curl_close($ch);
?>
Другой вариант, делающий то же самое:
< ?php
echo shell_exec("curl -L http://www.zend.com http://zend.com/developers.php http://zend.com/zend/tut/");
?>
Иногда нужно указывать полный путь к интерпретатору:
< ?php
echo shell_exec("/usr/bin/curl -L http://www.zend.com http://zend.com/developers.php http://zend.com/zend/tut/");
Оба варианта загрузят страничку и отобразят её в браузере. Ресурсы загруженной странички, которые имеют относительную адресацию (обычно картинки, иконки, логотипы), не загрузятся. |