Функции cURL в PHP


Обзор

Библиотека libcurl, созданная Даниэлем Стенбергом и поддерживаемая PHP, позволяет подключаться и обмениваться данными с различными типами серверов, используя различные типы протоколов.

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

Методы реализации запросов Get и Post с использованием cURL в PHP

Эти функции появились в PHP 4.0.2.



Требования

Чтобы использовать функции cURL в PHP, нужно установить пакетlibcurl.

PHP требует libcurl 7.0.2-beta или выше. Чтобы использовать cURL в PHP 4.2.3, необходимо установить libcurl 7.9.0 или выше. Начиная с PHP 4.3.0, необходимо установить libcurl 7.9.0 или выше. Начиная с PHP 5.0.0, необходимо установить libcurl 7.10.5 или выше.



Установка

Чтобы использовать поддержку cURL в PHP, необходимо добавить опцию --with-curl[=DIR] при компиляции PHP, где DIR — путь к каталогу, содержащему lib и include. В каталоге include должна быть папка с именем curl, содержащая easy.h и curl.h. В папке lib должен быть файл с именем libcurl.a. Для PHP 4.3.0 можно настроить --with-curlwrappers, чтобы cURL использовал URL-потоки.

Примечание: примечание для пользователей Win32 Чтобы использовать этот модуль в среде Windows, libeay32.dll и ssleay32.dll должны быть помещены в каталог, входящий в переменную среды PATH. Не используйте libcurl.dll с сайта cURL.


Типы ресурсов

Это расширение определяет два типа ресурсов: дескрипторы cURL и пакетные дескрипторы cURL.



Функции cURL в PHP

Ниже приведён список функций cURL в PHP:

Функция Описание
curl_close() Закрывает сеанс cURL.
curl_copy_handle() Копирует дескриптор cURL и все его параметры.
curl_errno() Возвращает номер последней ошибки.
curl_error() Возвращает строку, содержащую последнюю ошибку текущего сеанса.
curl_escape() Возвращает экранированную строку, выполняя URL-кодирование заданной строки.
curl_exec() Выполняет сеанс cURL.
curl_file_create() Создаёт объект CURLFile.
curl_getinfo() Получает информацию о дескрипторе ресурса соединения cURL.
curl_init() Инициализирует сеанс cURL.
curl_multi_add_handle() Добавляет отдельный дескриптор curl в пакетный сеанс curl.
curl_multi_close() Закрывает набор дескрипторов cURL.
curl_multi_exec() Запускает подчинённые соединения текущего дескриптора cURL.
curl_multi_getcontent() Если CURLOPT_RETURNTRANSFER установлен, возвращает текстовый поток полученного вывода.
curl_multi_info_read() Получает связанную информацию о передаче текущего обрабатываемого cURL.
curl_multi_init() Возвращает новый пакетный дескриптор cURL.
curl_multi_remove_handle() Удаляет ресурс дескриптора из ресурса пакетного дескриптора curl.
curl_multi_select() Ожидает все активные соединения в пакете cURL.
curl_multi_setopt() Устанавливает опцию групповой передачи cURL.
curl_multi_strerror() Возвращает текстовую строку с описанием кода ошибки.
curl_pause() Приостанавливает и возобновляет соединение.
curl_reset() Сбрасывает все опции дескриптора сеанса libcurl.
curl_setopt_array() Пакетно устанавливает опции для сеанса передачи cURL.
curl_setopt() Устанавливает опцию передачи cURL.
curl_share_close() Закрывает разделяемый дескриптор cURL.
curl_share_init() Инициализирует общий дескриптор cURL.
curl_share_setopt() Устанавливает параметр передачи cURL для общего дескриптора.
curl_strerror() Возвращает строковое описание кода ошибки.
curl_unescape() Декодирует строку в URL-кодировке.
curl_version() Получает информацию о версии cURL.
Другие расширения