# Модуль сетевого обмена данными по URL-адресам

# Введение

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

- Установка и настройка
  - Требования
  - Установка
  - Настройка во время выполнения
  - Типы ресурсов
- Предопределённые константы
- Примеры
  - Пример работы с модулем curl
- Функции cURL
  - curl_close — Завершает сеанс cURL
  - curl_copy_handle — Копирует cURL-дескриптор вместе с настройками
  - curl_errno — Возвращает код ошибки последней операции
  - curl_error — Возвращает строку с описанием ошибки последней операции текущего сеанса
  - curl_escape — Кодирует строку для безопасного включения в структуру URL-адреса
  - curl_exec — Выполняет сеанс сетевой передачи данных
  - curl_getinfo — Получает информацию о конкретной передаче
  - curl_init — Инициализирует cURL-сеанс сетевой передачи данных
  - curl_multi_add_handle — Добавляет обычный cURL-дескриптор к набору cURL-дескрипторов
  - curl_multi_close — Удаляет все cURL-дескрипторы из мультидескриптора
  - curl_multi_errno — Возвращает код последней ошибки множественного curl
  - curl_multi_exec — Запускает соединения дескрипторов cURL-мультидескриптора
  - curl_multi_getcontent — Возвращает результат операции, если была установлена опция CURLOPT_RETURNTRANSFER
  - curl_multi_info_read — Возвращает информацию о текущих операциях
  - 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 — Устанавливает параметр для cURL-передачи
  - curl_setopt_array — Устанавливает несколько параметров для сеанса cURL
  - curl_share_close — Закрывает разделяемый cURL-дескриптор
  - curl_share_errno — Возвращает код последней ошибки разделяемого обработчика curl
  - curl_share_init — Инициализирует разделяемый cURL-дескриптор
  - curl_share_init_persistent — Инициализирует постоянный разделяемый cURL-дескриптор
  - curl_share_setopt — Устанавливает опции разделяемого cURL-дескриптора
  - curl_share_strerror — Возвращает описание для заданного кода ошибки
  - curl_strerror — Возвращает строку с описанием кода ошибки
  - curl_unescape — Декодирует строку, закодированную для безопасного включения в структуру URL-адреса
  - curl_upkeep — Проверяет и поддерживает соединение в рабочем состоянии
  - curl_version — Возвращает информацию о версии модуля cURL
- CurlHandle — Класс CurlHandle
- CurlMultiHandle — Класс CurlMultiHandle
- CurlShareHandle — Класс CurlShareHandle
- CurlSharePersistentHandle — Класс CurlSharePersistentHandle
- CURLFile — Класс CURLFile
  - CURLFile::__construct — Создаёт объект CURLFile
  - CURLFile::getFilename — Возвращает имя файла на сервере
  - CURLFile::getMimeType — Возвращает MIME-тип файла
  - CURLFile::getPostFilename — Возвращает имя файла, отправляемого POST-запросом
  - CURLFile::setMimeType — Устанавливает MIME-тип
  - CURLFile::setPostFilename — Устанавливает имя файла для отправки методом POST
- CURLStringFile — Класс CURLStringFile
  - CURLStringFile::__construct — Создаёт объект CURLStringFile

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open