PHP 8.1.31 Released!

Предопределённые константы

Модуль определяет перечисленные константы и открывает доступ к константам только тогда, когда модуль либо собрали в PHP, либо динамически загрузили во время исполнения кода.

Описания и примеры работы с этими константами приводит документация функций curl_setopt(), curl_multi_setopt() и curl_getinfo().

Константы Описание
CURLALTSVC_H1 (int) Константа доступна с PHP 8.2.0 и cURL 7.64.1.
CURLALTSVC_H2 (int) Константа доступна с PHP 8.2.0 и cURL 7.64.1.
CURLALTSVC_H3 (int) Константа доступна с PHP 8.2.0 и cURL 7.64.1.
CURLALTSVC_READONLYFILE (int) Константа доступна с PHP 8.2.0 и cURL 7.64.1.
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int) Константа доступна с PHP 8.2.0 и cURL 7.75.0.
CURLAUTH_BASIC (int)
CURLAUTH_BEARER (int) Константа доступна с PHP 7.3.0 и cURL 7.61.0.
CURLAUTH_DIGEST (int)
CURLAUTH_DIGEST_IE (int) Используйте аутентификацию HTTP Digest в IE. Константа доступна с cURL 7.19.3.
CURLAUTH_GSSAPI (int) Константа доступна с PHP 7.3.0 и cURL 7.54.1
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int) Константа доступна с PHP 7.0.7 и cURL 7.38.0.
CURLAUTH_NONE (int) Константа доступна с cURL 7.10.6.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int) Константа доступна с PHP 7.0.7 и cURL 7.22.0
CURLAUTH_ONLY (int) Мета-символ. Или при использовании этого значения совместно с конкретным значением auth, libcurl проверит наличие неограниченного auth, или, если нет, то только этот алгоритм auth является приемлемым. Константа доступна с cURL 7.21.3.
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLFTPMETHOD_DEFAULT (int) Константа доступна с PHP 8.2.0 и cURL 7.15.3.
CURLFTPMETHOD_MULTICWD (int) Выполнить одну операцию CWD для каждой части пути в заданном URL. Константа доступна с cURL 7.15.3.
CURLFTPMETHOD_NOCWD (int) libcurl вообще не выполняет CWD. libcurl выполняет SIZE, RETR, STOR и т.д. и указывает полный путь к серверу для всех этих команд. Константа доступна с cURL 7.15.3.
CURLFTPMETHOD_SINGLECWD (int) libcurl выполняет единожды CWD для целевого каталога, а затем работает с файлом, как в случае с multicwd. Константа доступна с cURL 7.15.3.
CURLFTPSSL_ALL (int)
CURLFTPSSL_CCC_ACTIVE (int) Запустить отключение и дождаться ответа. Константа доступна с cURL 7.16.2.
CURLFTPSSL_CCC_NONE (int) Не пытаться использовать CCC (Clear Command Channel). Константа доступна с cURL 7.16.2.
CURLFTPSSL_CCC_PASSIVE (int) Не запускать отключение, а подождать, пока это сделает сервер. Не отправлять ответ. Константа доступна с cURL 7.16.1.
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPSSL_TRY (int)
CURLFTP_CREATE_DIR (int) Константа доступна с PHP 7.0.7 и cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (int) Константа доступна с PHP 7.0.7 и cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (int) Константа доступна с PHP 7.0.7 и cURL 7.19.3
CURLGSSAPI_DELEGATION_FLAG (int) Разрешить безусловное делегирование учётных данных GSSAPI. Константа доступна с cURL 7.22.0.
CURLGSSAPI_DELEGATION_POLICY_FLAG (int) Делегировать только в том случае, если в сервисном билете установлен флаг OK-AS-DELEGATE, если эта возможность поддерживается реализацией GSS-API и определение GSS_C_DELEG_POLICY_FLAG было доступно во время компиляции. Константа доступна с cURL 7.22.0.
CURLHEADER_SEPARATE (int) Константа доступна с PHP 7.0.7 и cURL 7.37.0.
CURLHEADER_UNIFIED (int) Константа доступна с PHP 7.0.7 и cURL 7.37.0.
CURLHSTS_ENABLE (int) Константа доступна с PHP 8.2.0 и cURL 7.74.0
CURLHSTS_READONLYFILE (int) Константа доступна с PHP 8.2.0 и cURL 7.74.0
CURLKHMATCH_LAST (int) Константа доступна с PHP 8.3.0 и cURL 7.19.6
CURLKHMATCH_MISMATCH (int) Константа доступна с PHP 8.3.0 и cURL 7.19.6
CURLKHMATCH_MISSING (int) Константа доступна с PHP 8.3.0 и cURL 7.19.6
CURLKHMATCH_OK (int) Константа доступна с PHP 8.3.0 и cURL 7.19.6
CURLMIMEOPT_FORMESCAPE (int) Константа доступна с PHP 8.3.0 и cURL 7.81.0
CURLMSG_DONE (int)
CURLPIPE_HTTP1 (int) Константа доступна с cURL 7.43.0.
CURLPIPE_MULTIPLEX (int) Константа доступна с cURL 7.43.0.
CURLPIPE_NOTHING (int) Константа доступна с cURL 7.43.0.
CURLPROXY_HTTP (int) Константа доступна с cURL 7.10.
CURLPROXY_HTTPS (int) Константа доступна с PHP 7.3.0 и cURL 7.52.0
CURLPROXY_HTTP_1_0 (int) Константа доступна с PHP 7.0.7 и cURL 7.19.3
CURLPROXY_SOCKS4 (int) Константа доступна с cURL 7.10.
CURLPROXY_SOCKS4A (int) Константа доступна с cURL 7.18.0.
CURLPROXY_SOCKS5 (int) Константа доступна с cURL 7.10.
CURLPROXY_SOCKS5_HOSTNAME (int) Константа доступна с cURL 7.18.0.
CURLPX_BAD_ADDRESS_TYPE (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_BAD_VERSION (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_CLOSED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_GSSAPI (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_GSSAPI_PERMSG (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_GSSAPI_PROTECTION (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_IDENTD (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_IDENTD_DIFFER (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_LONG_HOSTNAME (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_LONG_PASSWD (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_LONG_USER (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_NO_AUTH (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_OK (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_RECV_ADDRESS (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_RECV_AUTH (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_RECV_CONNECT (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_RECV_REQACK (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_COMMAND_NOT_SUPPORTED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_CONNECTION_REFUSED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_GENERAL_SERVER_FAILURE (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_HOST_UNREACHABLE (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_NETWORK_UNREACHABLE (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_NOT_ALLOWED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_TTL_EXPIRED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REPLY_UNASSIGNED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_REQUEST_FAILED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_RESOLVE_HOST (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_SEND_AUTH (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_SEND_CONNECT (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_SEND_REQUEST (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_UNKNOWN_FAIL (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_UNKNOWN_MODE (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLPX_USER_REJECTED (int) Константа доступна с PHP 8.2.0 и cURL 7.73.0
CURLSSH_AUTH_AGENT (int) Константа доступна с PHP 7.0.7 и cURL 7.28.0
CURLSSH_AUTH_ANY (int)
CURLSSH_AUTH_DEFAULT (int)
CURLSSH_AUTH_GSSAPI (int) Константа доступна с PHP 7.3.0 и cURL 7.58.0
CURLSSH_AUTH_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
CURLSSLOPT_ALLOW_BEAST (int) Константа доступна с cURL 7.25.0
CURLSSLOPT_AUTO_CLIENT_CERT (int) Константа доступна с PHP 8.2.0 и cURL 7.77.0
CURLSSLOPT_NATIVE_CA (int) Константа доступна с PHP 8.2.0 и cURL 7.71.0
CURLSSLOPT_NO_PARTIALCHAIN (int) Константа доступна с PHP 8.2.0 и cURL 7.68.0
CURLSSLOPT_NO_REVOKE (int) Константа доступна с PHP 7.0.7 и cURL 7.44.0
CURLSSLOPT_REVOKE_BEST_EFFORT (int) Константа доступна с PHP 8.2.0 и cURL 7.70.0
CURLUSESSL_ALL (int) Требовать SSL для всех соединений или вызвать ошибку с CURLE_USE_SSL_FAILED. Константа доступна с cURL 7.17.0.
CURLUSESSL_CONTROL (int) Требовать SSL для управляющего соединения или вызвать ошибку с CURLE_USE_SSL_FAILED. Константа доступна с cURL 7.17.0.
CURLUSESSL_NONE (int) Не пытаться использовать SSL. Константа доступна с cURL 7.17.0.
CURLUSESSL_TRY (int) Попробовать использовать SSL, в противном случае действовать как обычно. Обратите внимание, что сервер может закрыть соединение, если переговоры не увенчались успехом. Константа доступна с cURL 7.17.0.
CURLVERSION_NOW (int)
CURLWS_RAW_MODE (int) Константа доступна с PHP 8.3.0 и cURL 7.86.0
CURL_FNMATCHFUNC_FAIL (int) Возвращается callback-функцией совпадения подстановочных знаков, в случае возникновения ошибки. Константа доступна с cURL 7.21.0.
CURL_FNMATCHFUNC_MATCH (int) Возвращается callback-функцией при совпадении шаблона со строкой. Константа доступна с cURL 7.21.0.
CURL_FNMATCHFUNC_NOMATCH (int) Возвращается callback-функцией, если шаблон не соответствует строке. Константа доступна с cURL 7.21.0.
CURL_HTTP_VERSION_1_0 (int)
CURL_HTTP_VERSION_1_1 (int)
CURL_HTTP_VERSION_2 (int) Константа доступна с PHP 7.0.7 и cURL 7.43.0
CURL_HTTP_VERSION_2TLS (int) Константа доступна с PHP 7.0.7 и cURL 7.47.0
CURL_HTTP_VERSION_2_0 (int) Константа доступна с cURL 7.33.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int) Константа доступна с PHP 7.0.7 и cURL 7.49.0
CURL_HTTP_VERSION_NONE (int)
CURL_IPRESOLVE_V4 (int) Использовать только адреса IPv4 при создании соединения или при выборе одного из них из пула соединений. Константа доступна с cURL 7.10.8.
CURL_IPRESOLVE_V6 (int) Использовать только адреса IPv6 при создании соединения или при выборе одного из них из пула соединений. Константа доступна с cURL 7.10.8.
CURL_IPRESOLVE_WHATEVER (int) Использовать адреса всех версий IP, разрешённых системой. Константа доступна с cURL 7.10.8.
CURL_MAX_READ_SIZE (int) Константа доступна с PHP 7.3.0 и cURL 7.53.0
CURL_NETRC_IGNORED (int)
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_REQUIRED (int)
CURL_PUSH_DENY (int) Константа доступна с PHP 7.1.0 и cURL 7.44.0
CURL_PUSH_OK (int) Константа доступна с PHP 7.1.0 и cURL 7.44.0
CURL_READFUNC_PAUSE (int) Константа доступна с cURL 7.18.0.
CURL_REDIR_POST_301 (int) Константа доступна с PHP 7.0.7 и cURL 7.18.2
CURL_REDIR_POST_302 (int) Константа доступна с PHP 7.0.7 и cURL 7.18.2
CURL_REDIR_POST_303 (int) Константа доступна с PHP 7.0.7 и cURL 7.25.1
CURL_REDIR_POST_ALL (int) Константа доступна с PHP 7.0.7 и cURL 7.18.2
CURL_RTSPREQ_ANNOUNCE (int) При отправке клиентом метод изменяет описание сессии. ANNOUNCE действует как HTTP PUT или POST, так же как и CURL_RTSPREQ_SET_PARAMETER. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_DESCRIBE (int) Использовать для получения низкоуровневого описания потока. Приложение должно указать, какие форматы оно понимает в заголовке Accept:. Если не задано вручную, libcurl автоматически добавляет Accept: application/sdp. Заголовки с временными условиями добавляются к запросам DESCRIBE если используется опция CURLOPT_TIMECONDITION. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_GET_PARAMETER (int) Получить параметра с сервера. По умолчанию libcurl добавляет Content-Type: text/parameters ко всем непустым запросам, если не задан собственный заголовок. GET_PARAMETER действует так же, как HTTP PUT или POST. Приложения, желающие отправить heartbeat-сообщение должны использовать пустой запрос GET_PARAMETER. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_OPTIONS (int) Использовать для получения информации о доступных методах сервера. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_PAUSE (int) Отправить на сервер команду PAUSE. Используйте параметр CURLOPT_RANGE с одним значением, чтобы указать, когда поток должен быть остановлен (например, npt=25). Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_PLAY (int) Отправить на сервер команду PLAY. Используйте параметр CURLOPT_RANGE, для изменения времени воспроизведения (например, npt=10-15). Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_RECEIVE (int) Установите для типа запроса RTSP это значение, чтобы получать чередующиеся данные RTP. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_RECORD (int) Используется для указания серверу записывать сессию. Используйте параметр CURLOPT_RANGE для изменения времени записи. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_SETUP (int) Использовать для инициализации транспортного уровня для сессии. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_SET_PARAMETER (int) Установить параметр на сервере. Константа доступна с cURL 7.20.0.
CURL_RTSPREQ_TEARDOWN (int) Завершить RTSP-сессию. Простое закрытие соединения не приводит к завершению RTSP-сессии, поскольку RTSP-сессию можно контролировать через разные соединения. Константа доступна с cURL 7.20.0.
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_MAX_DEFAULT (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (int) Константа доступна с PHP 7.3.0 и cURL 7.54.0
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURL_SSLVERSION_TLSv1_3 (int) Константа доступна с PHP 7.3.0 и cURL 7.52.0
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
CURL_TIMECOND_NONE (int)
CURL_TLSAUTH_SRP (int) Константа доступна с cURL 7.21.4.
CURL_VERSION_ALTSVC (int) Константа доступна с PHP 7.3.6 и cURL 7.64.1
CURL_VERSION_ASYNCHDNS (int) Асинхронно разрешить DNS. Константа доступна с PHP 7.3.0 и cURL 7.10.7
CURL_VERSION_BROTLI (int) Константа доступна с PHP 7.3.0 и cURL 7.57.0
CURL_VERSION_CONV (int) Поддержка преобразования символов. Константа доступна с PHP 7.3.0 и cURL 7.15.4
CURL_VERSION_CURLDEBUG (int) Поддержка отслеживания памяти отладки. Константа доступна с PHP 7.3.6 и cURL 7.19.6
CURL_VERSION_DEBUG (int) Сборка с возможностью отладки. Константа доступна с PHP 7.3.0 и cURL 7.10.6
CURL_VERSION_GSASL (int) Константа доступна с PHP 8.2.0 и cURL 7.76.0
CURL_VERSION_GSSAPI (int) Сборка на основе библиотеки GSS-API. Константа доступна с PHP 7.3.0 и cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (int) Поддержка аутентификации с помощью переговоров. Константа доступна с PHP 7.3.0 и cURL 7.10.6 (объявлена устаревшей с 7.38.0)
CURL_VERSION_HSTS (int) Константа доступна с PHP 8.2.0 и cURL 7.74.0
CURL_VERSION_HTTP2 (int) Встроенная поддержка HTTP2. Константа доступна с cURL 7.33.0
CURL_VERSION_HTTP3 (int) Константа доступна с PHP 8.2.0 и cURL 7.66.0
CURL_VERSION_HTTPS_PROXY (int) Константа доступна с PHP 7.3.0 и cURL 7.52.0
CURL_VERSION_IDN (int) Поддерживаются интернационализированные доменные имена. Константа доступна с PHP 7.3.0 и cURL 7.12.0
CURL_VERSION_IPV6 (int) Поддержка IPv6.
CURL_VERSION_KERBEROS4 (int) Поддержка аутентификации Kerberos V4.
CURL_VERSION_KERBEROS5 (int) Поддержка аутентификации Kerberos V5. Константа доступна с PHP 7.0.7 и cURL 7.40.0
CURL_VERSION_LARGEFILE (int) Поддержка файлов размером более 2 ГБ. Константа доступна с cURL 7.33.0
CURL_VERSION_LIBZ (int) Доступность функций libz.
CURL_VERSION_MULTI_SSL (int) Константа доступна с PHP 7.3.0 и cURL 7.56.0
CURL_VERSION_NTLM (int) Поддержка аутентификации NTLM. Константа доступна с PHP 7.3.0 и cURL 7.10.6
CURL_VERSION_NTLM_WB (int) Поддержка делегирования NTLM помощнику winbind. Константа доступна с PHP 7.3.0 и cURL 7.22.0
CURL_VERSION_PSL (int) Публичный список суффиксов Mozilla, используемый для проверки домена cookie. Константа доступна с PHP 7.3.6 и cURL 7.47.0
CURL_VERSION_SPNEGO (int) Поддержка аутентификации SPNEGO. Константа доступна с PHP 7.3.0 и cURL 7.10.8
CURL_VERSION_SSL (int) Присутствие параметров SSL.
CURL_VERSION_SSPI (int) Сборка на базе Windows SSPI. Константа доступна с PHP 7.3.0 и cURL 7.13.2
CURL_VERSION_TLSAUTH_SRP (int) Поддержка аутентификации по протоколу TLS-SRP. Константа доступна с PHP 7.3.0 и cURL 7.21.4
CURL_VERSION_UNICODE (int) Константа доступна с PHP 8.2.0 и cURL 7.72.0
CURL_VERSION_UNIX_SOCKETS (int) Поддержка доменных сокетов Unix. Константа доступна с PHP 7.0.7 и cURL 7.40.0
CURL_VERSION_ZSTD (int) Константа доступна с PHP 8.2.0 и cURL 7.72.0
CURL_WRITEFUNC_PAUSE (int) Константа доступна с cURL 7.18.0.
curl-setopt()
Константы Описание
CURLOPT_ABSTRACT_UNIX_SOCKET (int)

Разрешает соединяться с абстрактным сокетом Unix-домена вместо установления TCP-соединения с хостом и устанавливает путь к заданной строке string. Опция следует той же семантике, что и опция CURLOPT_UNIX_SOCKET_PATH. Обе опции разделяют одно хранилище, поэтому для каждого дескриптора разрешается установить только одну. Константа доступна с PHP 7.3.0 и cURL 7.53.0.

CURLOPT_ALTSVC (int)

Передаёт название файла модулю cURL, который функция будет использовать как Alt-Svc-файл кеша для чтения существующего содержимого кеша и, возможно, также записи данных обратно в файл после передачи, если только для опции CURLOPT_ALTSVC_CTRL не установили значение CURLALTSVC_READONLYFILE. Константа доступна с 8.2.0 и cURL 7.64.1.

CURLOPT_ALTSVC_CTRL (int)

Заполняет битовую маску правильным набором функций, чтобы проинструктировать дескриптор cURL, как обрабатывать файл Alt-Svc при обмене данными через дескриптор. cURL-дескриптор принимает заголовки файла Alt-Svc только по HTTPS-протоколу. Функция выполнит запрос к альтернативному источнику, только если источник правильно работает по HTTPS-протоколу. Установка хотя бы одного бита включит механизм Alt-Svc. Поведение кеша определяет следующий набор опций: CURLALTSVC_H1, CURLALTSVC_H2, CURLALTSVC_H3 и CURLALTSVC_READONLYFILE. Константа доступна с 8.2.0 и cURL 7.64.1.

CURLOPT_AUTOREFERER (int)

Значение true автоматически установит значение поля Referer: в HTTP-заголовках запросов, которые следуют по URL-адресу перенаправления в заголовке ответа Location:.

CURLOPT_AWS_SIGV4 (int)

Аутентифицирует запрос к веб-службам компании Amazon по AWS-подписи версии 4 в HTTP- или HTTPS-заголовках. Опция переопределяет другие типы аутентификации, которые установили в опции CURLOPT_HTTPAUTH. Этот метод нельзя комбинировать с другими типами аутентификации. Константа доступна с 8.2.0 и cURL 7.75.0.

CURLOPT_BINARYTRANSFER (int)

CURLOPT_BUFFERSIZE (int)

Размер буфера, который функция будет использовать при каждом чтении данных. При этом функция не гарантирует, что обработает запрос. Константа доступна с cURL 7.10.

CURLOPT_CAINFO (int)

Имя файла, в котором содержится один или набор сертификатов для проверки узла. Опцию устанавливают только в сочетании с опцией CURLOPT_SSL_VERIFYPEER. Иногда требуется указывать абсолютный путь к файлу.

CURLOPT_CAINFO_BLOB (int)

Имя PEM-файла, в котором содержится один или набор сертификатов для проверки узла. Опция переопределяет опцию CURLOPT_CAINFO. Константа доступна с 8.2.0 и cURL 7.77.0.

CURLOPT_CAPATH (int)

Каталог, который содержит набор сертификатов удостоверяющего центра. Опцию указывают вместе с опцией CURLOPT_SSL_VERIFYPEER.

CURLOPT_CA_CACHE_TIMEOUT (int)

Константа доступна с 8.3.0 и cURL 7.87.0.

CURLOPT_CERTINFO (int)

Значение true выводит информацию о SSL-сертификации в поток STDERR при безопасной передаче. Константу добавили в cURL 7.19.1. Константа будет работать, только если включить опцию CURLOPT_VERBOSE.

CURLOPT_CONNECTTIMEOUT (int)

Количество секунд, которое функция потратит на попытку установить подключение. Значение 0 включит бесконечное ожидание.

CURLOPT_CONNECTTIMEOUT_MS (int)

Количество миллисекунд, которое функция потратит на попытку установить подключение. Значение 0 включит бесконечное ожидание. Эта часть соединения по-прежнему будет использовать разрешение в целую секунду для пределов времени, у которых минимальное допустимое время ожидания равно одной секунде, если библиотеку libcurl собрали со стандартным резольвером имён системы. Константа доступна с cURL 7.16.2.

CURLOPT_CONNECT_ONLY (int)

Значение true сообщает библиотеке, что требуется аутентифицировать прокси-сервер и настройку соединения, но не передавать данные. Опцию реализовали для работы с протоколами HTTP, SMTP и POP3. Константа доступна с cURL 7.15.2.

CURLOPT_CONNECT_TO (int)

Подключается к заданному хосту и порту, а не хосту и порту URL-адреса. Опция принимает массив строк в формате HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT. Константа доступна с 7.0.7 и cURL 7.49.0.

Содержимое заголовка "Cookie: ", которое функция будет использовать в HTTP-запросе. Обратите внимание, что блоки данных cookie разделяются точкой с запятой, за которой следует пробел: "fruit=apple; colour=red".

CURLOPT_COOKIEFILE (int)

Имя файла, который содержит блоки данных cookies. Блоки cookie записывают в файл в формате Netscape или прямо простыми заголовками в HTTP-стиле, которые сбросили в файл. Функция не будет загружать блоки данных cookies, но обработка cookies останется включённой, если имя файла окажется пустой строкой.

CURLOPT_COOKIEJAR (int)

Название файла, в котором будут сохраняться внутренние cookie при вызове деструктора дескриптора.

Внимание

Начиная с PHP 8.0.0 функция curl_close() ничего не делает с дескриптором и не уничтожает его. На дескрипторе вызывают конструкцию языка unset(), если требуется записать cookies до автоматического уничтожения дескриптора.

CURLOPT_COOKIELIST (int)

Строка блока данных cookie (то есть одна строка в формате Netscape/Mozilla или стандартный заголовок Set-Cookie в HTTP-стиле) добавляет единственный блок cookie во внутреннее хранилище блоков данных cookie. Значение "ALL" стирает все cookie, которые хранятся в памяти. Значение "SESS" удаляет из памяти все блоки данных cookie сессии. Значение "FLUSH" записывает все известные блоки данных cookie в файл, который указали в опции CURLOPT_COOKIEJAR. Значение "RELOAD" загружает все блоки данных cookie из файлов, которые указали в опции CURLOPT_COOKIEFILE. Константа доступна с cURL 7.14.1

CURLOPT_COOKIESESSION (int)

Значение true помечает этот блок данных как новую «сессию» блоков cookie. Это заставит библиотеку libcurl игнорировать каждый блок данных cookie, который она собирается загрузить и который относится к «сеансовым cookie» предыдущей сессии. По умолчанию библиотека libcurl каждый раз сохраняет и загружает каждый блок данных cookie, независимо от того, принадлежат ли они к сессионным cookies или нет. Сеансовые cookie — cookie без даты истечения срока действия, и они должны быть живыми и существующим только для этой «сессии».

CURLOPT_CRLF (int)

Значение true преобразовывает символ новой строки, который указывают в системах Unix, в последовательность символов CRLF при передаче.

CURLOPT_CUSTOMREQUEST (int)

Пользовательский метод запроса, который функция будет использовать вместо "GET" или "HEAD" при отправке HTTP-запроса. Это полезно при запросах "DELETE" или других, более редких HTTP-запросах. Допустимые значения: "GET", "POST", "CONNECT" и так далее; т. е. здесь не нужно вводить всю строку с HTTP-запросом. Например, значение "GET /index.html HTTP/1.0\r\n\r\n" будет неправильным.

Замечание:

Опцию указывают, только после проверки и подтверждения, что сервер поддерживает пользовательский метод запроса.

CURLOPT_DEFAULT_PROTOCOL (int)

Протокол по умолчанию, который функция будет использовать, если название схемы отсутствует в URL-адресе. Константа доступна с 7.0.7 и cURL 7.45.0.

CURLOPT_DISALLOW_USERNAME_IN_URL (int)

Со значением true опция запрещает URL-адреса с именем пользователя. По умолчанию имена пользователей разрешаются — значение по умолчанию равно 0. Константа доступна с 7.3.0 и cURL 7.61.0.

CURLOPT_DNS_CACHE_TIMEOUT (int)

Количество секунд, в течение которых в памяти хранятся DNS-записи. По умолчанию значение опции равно 120 секундам, что эквивалентно 2 минутам.

CURLOPT_DNS_INTERFACE (int)

Устанавливает имя сетевого интерфейса, к которому требуется привязать резольвер DNS-имён. Опция принимает только имена интерфейса, а не адреса. Константа доступна с 7.0.7 и cURL 7.33.0.

CURLOPT_DNS_LOCAL_IP4 (int)

Устанавливает локальный IPv4-адрес, к которому требуется привязать резольвер. Опция принимает только аргументы, которые содержат один числовой IPv4-адрес в виде строки. Константа доступна с 7.0.7 и cURL 7.33.0.

CURLOPT_DNS_LOCAL_IP6 (int)

Устанавливает локальный IPv6-адрес, к которому требуется привязать резольвер. Опция принимает только аргументы, которые содержат один числовой IPv6-адрес в виде строки. Константа доступна с 7.0.7 и cURL 7.33.0.

CURLOPT_DNS_SHUFFLE_ADDRESSES (int)

Со значением true опция перемешивает адреса, которые вернул DNS-сервер, так, чтобы адреса выбирались в случайном порядке, когда имя разрешилось и DNS сервер вернул больше одного IP-адреса. Иногда из-за этого функция выбирает IPv4-адрес раньше IPv6-адреса и наоборот. Константа доступна с 7.3.0 и cURL 7.60.0.

CURLOPT_DNS_USE_GLOBAL_CACHE (int)

Опции указывают значение true, чтобы функция разрешала имена через глобальный DNS-кеш. Опция непотокобезопасна. По умолчанию опция условно включена, если PHP собрали не для безопасной работы в потоках (в командной оболочке CLI, через интерфейс FCGI, модуль Apache2-Prefork, который работает на основе процессов, а не потоков, и т. д.).

CURLOPT_DOH_SSL_VERIFYHOST (int)

Проверяет поля имени SSL-сертификата DoH-сервера на соответствие имени хоста. Константа доступна с 8.2.0 и cURL 7.76.0.

CURLOPT_DOH_SSL_VERIFYPEER (int)

Проверяет подлинность SSL-сертификата DoH-сервера. Константа доступна с 8.2.0 и cURL 7.76.0.

CURLOPT_DOH_SSL_VERIFYSTATUS (int)

Просит дескриптор cURL проверить статус сертификата DoH-сервера через TLS-расширение «Запрос статуса сертификата» (OCSP-сшивание). Константа доступна с 8.2.0 и cURL 7.76.0.

CURLOPT_DOH_URL (int)

Задаёт URL-адрес, по которому DoH-сервер будет разрешать имена. Константа доступна с 8.1.0 и cURL 7.62.0.

CURLOPT_EGDSOCKET (int)

Аналогична опции CURLOPT_RANDOM_FILE, за исключением имени файла сокета демона сбора энтропии (Entropy Gathering Daemon).

CURLOPT_ENCODING (int)

Содержимое заголовка "Accept-Encoding: ". Опция помогает декодировать ответ. Опция поддерживает следующие кодировки: "identity", "deflate" и "gzip". При установке пустой строки — "" — отправляется заголовок, который содержит все типы кодировок, которые поддерживает опция. Константа доступна с cURL 7.10.

CURLOPT_EXPECT_100_TIMEOUT_MS (int)

Время ожидания ответов с заголовком Expect: 100-continue в миллисекундах. Значение по умолчанию равно 1000 миллисекунд. Константа доступна с 7.0.7 и cURL 7.36.0.

CURLOPT_FAILONERROR (int)

Со значением true опция возвращает подробную информацию о сбое, если вернулся HTTP-код ответа, который больше или равен 400. Поведение по умолчанию возвращает страницу, а код игнорирует.

CURLOPT_FILE (int)

Файл, в который функция запишет результат передачи. По умолчанию функция отправляет вывод в поток STDOUT — окно браузера.

CURLOPT_FILETIME (int)

Со значением true функция попытается получить дату изменения удалённого документа. Значение также получают функцией curl_getinfo() с опцией CURLINFO_FILETIME.

CURLOPT_FOLLOWLOCATION (int)

Со значением true дескриптор следует перенаправлениям заголовка ответа "Location: ", который сервер отправляет в HTTP-заголовках. Смотрите также описание опции CURLOPT_MAXREDIRS. Константа недоступна, если включили директиву open_basedir.

CURLOPT_FORBID_REUSE (int)

Значение true принудительно закрывает соединение после завершения обработки, чтобы соединение не попадало в пул открытых соединений и становилось недоступным для повторной передачи.

CURLOPT_FRESH_CONNECT (int)

Значение true принудительно устанавливает новое соединение вместо передачи через кешированное.

CURLOPT_FTPAPPEND (int)

Со значением true опция добавляет данные в конец файла на удалённом источнике, а не перезаписывает.

CURLOPT_FTPASCII (int)

Псевдоним опции CURLOPT_TRANSFERTEXT. Лучше предпочесть оригинальную опцию, а не псевдоним.

CURLOPT_FTPLISTONLY (int)

Со значением true опция перечисляет только список имён файлов в FTP-каталоге, а не информацию о размерах, датах и т. д.

CURLOPT_FTPPORT (int)

Значение, которое функция будет использовать, чтобы получить IP-адрес для FTP-команды "PORT". Команда "PORT" просит удалённый сервер подключиться к заданному через опцию IP-адресу. Опция принимает значения в виде простого IP-адреса, имени хоста, имени сетевого интерфейса (в системах Unix) или простого дефиса '-', чтобы использовать системный IP-адрес по умолчанию.

CURLOPT_FTPSSLAUTH (int)

Устанавливает метод FTP-аутентификации (в активном режиме): CURLFTPAUTH_SSL — сначала проверяется SSL-протокол, CURLFTPAUTH_TLS — сначала проверяется TLS-протокол или CURLFTPAUTH_DEFAULT — дескриптор cURL решает сам. Константа доступна с cURL 7.12.2.

CURLOPT_FTP_CREATE_MISSING_DIRS (int)

Со значением true опция создаёт несуществующие каталоги, если FTP-операция обнаруживает путь, который не существует.

CURLOPT_FTP_FILEMETHOD (int)

Сообщает, каким методом получать доступ к файлу на FTP- или SFTP-сервере. Опция принимает возможные значения: CURLFTPMETHOD_DEFAULT, CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD м CURLFTPMETHOD_SINGLECWD. Константа доступна с cURL 7.15.1.

CURLOPT_FTP_SSL (int)

CURLOPT_FTP_USE_EPRT (int)

Для опции указывают значение true, чтобы функция отправляла EPRT- и LPRT-команды при активных FTP-загрузках. Значение false отключит команды EPRT и LPRT и функция будет передавать только команду PORT.

CURLOPT_FTP_USE_EPSV (int)

Со значением true функция сначала пробует команду EPSV для передачи по FTP-протоколу, прежде чем откатиться к команде PASV. Значение false отключает передачу EPSV-команды.

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)

Отдаёт преимущество IPv6-протоколу при подключении по алгоритму Happy Eyeballs. Алгоритм Happy Eyeballs пытается подключиться как к IPv4-адресам, так и к IPv6-адресам хостов с двойным стеком, но сначала на время ожидания в миллисекундах отдаёт преимущество протоколу IPv6. Значение по умолчанию — CURL_HET_DEFAULT, которое составляет 200 миллисекунд. Константа доступна с 7.3.0 и cURL 7.59.0.

CURLOPT_HAPROXYPROTOCOL (int)

Со значением true функция отправляет заголовок протокола HAProxy PROXY v1 в начале соединения. Действие по умолчанию — не отправлять этот заголовок. Константа доступна с 7.3.0 и cURL 7.60.0.

CURLOPT_HEADER (int)

Значение true включает заголовок в вывод.

CURLOPT_HEADERFUNCTION (int)

Callback-функция, которая принимает два аргумента. Первый — cURL-ресурс, второй — строка с данными заголовка, которые требуется записать. Записать данные заголовков требуется этой функцией обратного вызова. Функция возвращает количество байтов, которое она записала.

CURLOPT_HEADEROPT (int)

Отправляет заголовки прокси-серверу и хосту, или отдельно. Опция принимает значения CURLHEADER_UNIFIED и CURLHEADER_SEPARATE. С cURL 7.42.1 значение по умолчанию равно CURLHEADER_SEPARATE, в предыдущих версиях значение по умолчанию равнялось CURLHEADER_UNIFIED. Константа доступна с 7.0.7 и cURL 7.37.0.

CURLOPT_HSTS (int)

Имя файла HSTS-кеша (HTTP Strict Transport Security). Константа доступна с 8.2.0 и cURL 7.74.0.

CURLOPT_HSTS_CTRL (int)

Управляет поведением механизма HSTS (HTTP Strict Transport Security). Заполните битовую маску правильным набором значений, чтобы проинструктировать дескриптор cURL, как обрабатывать HSTS-хосты при передаче с этим дескриптором. Константа CURLHSTS_ENABLE включает запоминаемый (in-memory) кеш HSTS. Если файл HSTS-кеша определили, установка значения CURLHSTS_READONLYFILE сделает файл доступным только для чтения. Константа доступна с 8.2.0 и cURL 7.74.0.

CURLOPT_HTTP09_ALLOWED (int)

Определяет, разрешить ли ответы по протоколу HTTP/0.9. Начиная с libcurl 7.66.0 значение по умолчанию равно false; раньше значение по умолчанию равнялось true. Константа доступна с PHP 7.3.15 или 7.4.3 и cURL 7.64.0.

CURLOPT_HTTP200ALIASES (int)

Массив ответов с HTTP-кодом 200, которые будут рассматриваться как действительные ответы, а не как ошибки. Константа доступна с cURL 7.10.3.

CURLOPT_HTTPAUTH (int)

Устанавливает метод HTTP-аутентификации. Опция принимает следующие значения: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_AWS_SIGV4, CURLAUTH_ANY и CURLAUTH_ANYSAFE. Побитовый оператор ИЛИ — | — указывают, чтобы объединить больше одного метода. При объединении методов дескриптор cURL опросит сервер, чтобы узнать, какие методы поддерживает сервер, и выберет лучший. Параметр CURLAUTH_ANY устанавливает все биты. Дескриптор cURL автоматически выберет тот, который посчитает самым безопасным. Параметр CURLAUTH_ANYSAFE устанавливает все биты, кроме CURLAUTH_BASIC. дескриптор cURL автоматически выберет тот, который посчитает самым безопасным.

CURLOPT_HTTPGET (int)

Со значением true опция сбрасывает HTTP-метод запроса на метод GET. Поскольку метод GET — метод по умолчанию, опцию передают, только если метод HTTP-запроса для того же дескриптора изменяли на другой.

CURLOPT_HTTPHEADER (int)

Массив полей HTTP-заголовка для установки в формате array('Content-type: text/plain', 'Content-length: 100')

CURLOPT_HTTPPROXYTUNNEL (int)

Значение true включает туннелирование каждого запроса через HTTP-прокси.

CURLOPT_HTTP_CONTENT_DECODING (int)

Со значением false опция возвращает необработанное тело HTTP-ответа. Константа доступна с cURL 7.16.2.

CURLOPT_HTTP_VERSION (int)

Опция принимает следующие значения: CURL_HTTP_VERSION_NONE (значение по умолчанию; CURL сам решает, какую версию использовать), CURL_HTTP_VERSION_1_0 (принудительно соединяться по протоколу HTTP/1.0), CURL_HTTP_VERSION_1_1 (принудительно соединяться по протоколу HTTP/1.1), CURL_HTTP_VERSION_2_0 (попытаться соединиться по протоколу HTTP/2.0), CURL_HTTP_VERSION_2 (псевдоним параметра CURL_HTTP_VERSION_2_0), CURL_HTTP_VERSION_2TLS (попытаться соединиться только по протоколу HTTP/2.0 по протоколу TLS (HTTPS)) или CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (выполнять HTTP-запросы без TLS по протоколу HTTP/2.0 без отката до протокола HTTP/1.1).

CURLOPT_INFILE (int)

Файл, из которого требуется считывать данные при передаче в удалённый источник.

CURLOPT_INFILESIZE (int)

Предполагаемый размер файла в байтах при отправке файла на удалённый сайт. Обратите внимание, опция не ограничивает объём данных, которые библиотека libcurl фактически отправляет, поскольку фактический объём передаваемых данных зависит от того, что возвращает callback-функция опции CURLOPT_READFUNCTION.

CURLOPT_INTERFACE (int)

Название исходящего сетевого интерфейса, который надо использовать. Опция принимает значения в виде имени интерфейса, IP-адреса или имени хоста.

CURLOPT_IPRESOLVE (int)

Разрешает приложению выбрать, какие IP-адреса использовать при разрешении имён хостов. Это интересно только для имён хостов, которые разрешают адреса больше чем в одну версию IP-протокола. Опция принимает следующие значения: CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6 и по умолчанию — CURL_IPRESOLVE_WHATEVER.. Константа доступна с cURL 7.10.8.

CURLOPT_ISSUERCERT_BLOB (int)

SSL-сертификат издателя из блока памяти, который содержит двоичные данные сертификата удостоверяющего центра. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_KEEP_SENDING_ON_ERROR (int)

Со значением true опция продолжает отправку тела запроса, если HTTP-код возврата равен или больше 300. Действие по умолчанию остановило бы отправку и закрыло поток или соединение. Опцию указывают при ручной NTLM-аутентификации. Большей части приложений опция не требуется. Константа доступна с 7.3.0 и cURL 7.51.0.

CURLOPT_KEYPASSWD (int)

Пароль, который требуется закрытому ключу в опции CURLOPT_SSLKEY или CURLOPT_SSH_PRIVATE_KEYFILE. Константа доступна с cURL 7.16.1.

CURLOPT_KRB4LEVEL (int)

Уровень безопасности KRB4 (сетевой протокол аутентификации Kerberos 4). Опция принимает следующие значения в порядке от наименее к наиболее сильному: "clear", "safe", "confidential", "private".. Опция будет использовать значение "private", если аргумент опции окажется строкой, которая не совпадает со значениями списка. Опция отключит KRB4-безопасность при установке значения null. Защита KRB4 работает пока только с FTP-транзакциями.

CURLOPT_LOGIN_OPTIONS (int)

Устанавливает параметры входа в систему для конкретного протокола, например, указывает предпочтительный механизм аутентификации через "AUTH=NTLM" или "AUTH=*", и работает в связке с опцией CURLOPT_USERNAME. Константа доступна с 7.0.7 и cURL 7.34.0.

CURLOPT_LOW_SPEED_LIMIT (int)

PHP посчитает скорость передачи чрезмерно низкой и прервёт передачу, если в течение заданного опцией CURLOPT_LOW_SPEED_TIME количества секунд скорость передачи в байтах в секунду будет ниже значения этой опции.

CURLOPT_LOW_SPEED_TIME (int)

Количество секунд, в течение которых скорость будет ниже значения опции CURLOPT_LOW_SPEED_LIMIT, перед тем как PHP посчитает скорость передачи чрезмерно низкой и прервёт передачу.

CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)

При отправке данных больше чем одному получателю cURL по умолчанию прерывает SMTP-диалог, если хотя бы один получатель отправляет ошибку на команду RCPT TO. Эта опция заставляет cURL игнорировать ошибки и продолжать с оставшимися допустимыми получателями. С этим флагом cURL прервёт SMTP-диалог и вернёт ошибку, которую получил от последней команды RCPT TO, если все получатели вызвали ошибку команды RCPT TO. Константа доступна с 8.2.0 и cURL 7.69.0.

CURLOPT_MAXAGE_CONN (int)

Максимальное время простоя, в течение которого модулю разрешается оценивать существующее соединение как доступное для повторной передачи. По умолчанию максимальный срок равен 118 секундам. Константа доступна с 8.2.0 и cURL 7.65.0.

CURLOPT_MAXCONNECTS (int)

Максимальное количество постоянных соединений, которое разрешается устанавливать модулю. При достижении предела самое старое соединение в кеше закрывается, чтобы предотвратить увеличение числа открытых соединений.

CURLOPT_MAXFILESIZE_LARGE (int)

Максимальный размер файла в байтах, который модулю разрешается скачивать. Передача не начнётся и вернёт значение константы CURLE_FILESIZE_EXCEEDED, если размер файла, который запросил дескриптор, окажется больше этого значения. Опция не влияет на скачивание файлов, размер которых функция не знает до скачивания, даже если в итоге размер файла превысит предел.

CURLOPT_MAXLIFETIME_CONN (int)

Максимальное время в секундах с момента установки соединения, в течение которого модулю разрешается оценивать существующее соединение как доступное для повторной передачи. Если функция обнаружит в кеше соединение старше этого значения, она закроет просроченное соединение, как только завершит текущие передачи. Значение по умолчанию, которое равно 0 секунд, отключает опцию и делает каждое соединение доступным для повторной передачи. Константа доступна с 8.2.0 и cURL 7.80.0.

CURLOPT_MAXREDIRS (int)

Максимальное количество HTTP-перенаправлений, которому разрешается следовать. Опцию указывают вместе с опцией CURLOPT_FOLLOWLOCATION. Значение по умолчанию, которое равно 20, предотвращает бесконечные перенаправления. Установка значения -1 разрешит бесконечные перенаправления, а значение 0 откажет в перенаправлениях.

CURLOPT_MAX_RECV_SPEED_LARGE (int)

Если совокупная средняя в течение передачи скорость скачивания превысит это значение в байтах в секунду, то функция приостановит скачивание, чтобы поддерживать среднюю скорость ниже или равной значению опции. По умолчанию скорость не ограничивается. Константа доступна с cURL 7.15.5.

CURLOPT_MAX_SEND_SPEED_LARGE (int)

Если совокупная средняя в течение передачи скорость отправки данных превысит это значение в байтах в секунду, то функция приостановит отправку, чтобы поддерживать среднюю скорость ниже или равной значению опции. По умолчанию скорость не ограничивается. Константа доступна с cURL 7.15.5.

CURLOPT_MIME_OPTIONS (int)

Константа доступна с 8.3.0 и cURL 7.81.0.

CURLOPT_MUTE (int)

Со значением true функция отключит сообщения функций модуля cURL. Константу удалили с cURL 7.15.5; вместо неё указывают опцию CURLOPT_RETURNTRANSFER.

CURLOPT_NETRC (int)

Со значением true функция будет сканировать файл ~/.netrc, чтобы найти имя пользователя и пароль удалённого сайта, с которым устанавливается соединение.

CURLOPT_NOBODY (int)

Со значением true опция исключает тело ответа из вывода. Затем для HTTP-метода запроса устанавливается значение HEAD. Изменение значения этой опции на false не изменяет метод на GET.

CURLOPT_NOPROGRESS (int)

Значение true отключает индикатор прогресса cURL-передачи.

Замечание:

PHP автоматически устанавливает опции значение true. Значение изменяют только в целях отладки.

CURLOPT_NOSIGNAL (int)

Со значением true опция игнорирует функции модуля cURL, которые вызывают отправку сигнала PHP-процессу. В многопоточных SAPI-интерфейсах опция включается по умолчанию, поэтому по-прежнему разрешается использовать параметры времени ожидания. Константа доступна с cURL 7.10.

CURLOPT_PASSWDFUNCTION (int)

Callback-функция, которая принимает три аргумента. Первым идёт cURL-дескриптор, вторым — строка с запросом пароля, третьим — максимальная длина пароля. Функция обратного вызова должна вернуть строку с паролем. Константу удалили с PHP 7.3.0.

CURLOPT_PASSWORD (int)

Пароль для аутентификации. Константа доступна с cURL 7.19.1.

CURLOPT_PATH_AS_IS (int)

Со значением true функция игнорирует обработку последовательностей из двух точек в названиях путей. Константа доступна с 7.0.7 и cURL 7.42.0.

CURLOPT_PINNEDPUBLICKEY (int)

Прикрепляет открытый ключ. Строка содержит или название PEM- или DEX-файла с открытым ключом, который прикрепит опция, sha256-хеши с префиксом "sha256//" в кодировке base64, которые разделили точкой с запятой ";". Константа доступна с 7.0.7 и cURL 7.39.0.

CURLOPT_PIPEWAIT (int)

Значение true укажет модулю дождаться соединения, чтобы подтвердить или опровергнуть конвейеризацию или мультиплексирование перед продолжением работы. Константа доступна с 7.0.7 и cURL 7.43.0.

CURLOPT_PORT (int)

Альтернативный номер порта для подключения.

CURLOPT_POST (int)

Со значением true функция выполняет стандартный запрос HTTP-методом POST. Этот вид POST-запроса устанавливает тип тела запроса application/x-www-form-urlencoded, который часто встречается при отправке HTML-форм.

CURLOPT_POSTFIELDS (int)

Полные данные для отправки в HTTP-запросе методом POST. Параметр передаёт данные либо как URL-кодированную строку наподобие 'para1=val1&para2=val2&...', либо как массив, в котором названия полей — ключи, а поля с данными — значения. Функция установит для заголовка Content-Type значение multipart/form-data, если значением параметра value окажется массив. Файлы отправляют как объекты классов CURLFile или CURLStringFile, которые присваивают значениям ассоциативного массива, который передают в параметр value.

CURLOPT_POSTQUOTE (int)

Массив FTP-команд, которые требуется выполнить на сервере после выполнения FTP-запроса.

CURLOPT_POSTREDIR (int)

Битовая маска из значений 1 (301 Moved Permanently), 2 (302 Found) и 4 (303 See Other), которую устанавливают, когда требуется продолжать обработку HTTP-запроса методом POST при наступлении конкретного типа перенаправления и установленной опции CURLOPT_FOLLOWLOCATION. Константа доступна с cURL 7.19.1.

CURLOPT_PRE_PROXY (int)

Устанавливает строку (string), которая содержит название хоста или точечно-числовой IP-адрес, который функция будет использовать как предварительный прокси, к которому библиотека curl подключается перед подключением к HTTP- или HTTPS-прокси, который указали в опции CURLOPT_PROXY для запроса, который предстоит выполнить. В качестве значения предварительного прокси-сервер опция принимает только SOCKS-прокси с префиксом, который указывает тип сокета, например socks4://. Числовой IPv6-адрес требуется записывать внутри квадратных скобок, например socks5://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]. Установка препрокси в виде пустой строки явно отключит подключение через предварительный прокси. Номер порта добавляют в конце строки препрокси после имени хоста через двоеточие, например: socks5://127.0.0.1:1080. Номер порта прокси также указывают отдельно — в опции CURLOPT_PROXYPORT. Значение по умолчанию для порта прокси — 1080, если порт не указали. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PRIVATE (int)

Данные, которые требуется связать с cURL-дескриптором. Эти данные затем будут доступны для извлечения через вызов функции curl_getinfo() с флагом CURLINFO_PRIVATE. cURL-дескриптор ничего не делает с этими данными. При работе с cURL-мультидескриптором эти закрытые данные обычно играют роль уникального ключа для идентификации простого cURL-дескриптора. Константа доступна с cURL 7.10.3.

CURLOPT_PROGRESSFUNCTION (int)

Callback-функция, которая принимает пять аргументов. Первый — cURL-дескриптор, второй — общее количество байтов, которое, как ожидается, функция скачает в текущей передаче, третий — количество байтов, которые функция уже скачала, четвёртый — общее количество байтов, которое, как ожидается, функция передаст в этой передаче, и пятый — количество байтов, которые функция уже передала.

Замечание:

Callback-функция вызывается, только если для опции CURLOPT_NOPROGRESS установили значение false.

Возврат из функции обратного вызова ненулевого значения прерывает передачу и устанавливает ошибку CURLE_ABORTED_BY_CALLBACK.

CURLOPT_PROTOCOLS (int)

Битовая маска из значений констант семейства CURLPROTO_*. Битовая маска ограничивает протоколы, по которым библиотеке libcurl разрешается передавать данные. Ограничение протоколов помогает настраивать библиотеку libcurl на поддержку широкого диапазона протоколов, но при этом ограничивать отдельные передачи разрешением на работу только с частью протоколов. По умолчанию библиотека libcurl будет принимать все протоколы, которые она поддерживает. Дополнительную информацию даёт описание опции CURLOPT_REDIR_PROTOCOLS. Допустимые опции, которыми устанавливают протоколы: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_MQTT и CURLPROTO_ALL. Константа доступна с cURL 7.19.4.

CURLOPT_PROTOCOLS_STR (int)

Константа доступна с 8.3.0 и cURL 7.85.0.

CURLOPT_PROXY (int)

HTTP-прокси для туннелирования запросов.

CURLOPT_PROXYAUTH (int)

Метод или методы HTTP-аутентификации для прокси-соединения. Опция принимает те же битовые маски, которые даёт описание опции CURLOPT_HTTPAUTH. Пока для прокси-аутентификации поддерживаются только опции CURLAUTH_BASIC и CURLAUTH_NTLM. Константа доступна с cURL 7.10.7.

CURLOPT_PROXYHEADER (int)

Массив пользовательских HTTP-заголовков для передачи прокси. Константа доступна с 7.0.7 и cURL 7.37.0.

CURLOPT_PROXYPORT (int)

Номер порта прокси-сервера, к которому требуется подключиться. Номер порта также устанавливают отдельно — через опцию CURLOPT_PROXY.

CURLOPT_PROXYTYPE (int)

Или CURLPROXY_HTTP (по умолчанию), CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A, или CURLPROXY_SOCKS5_HOSTNAME. Константа доступна с cURL 7.10.

CURLOPT_PROXYUSERPWD (int)

Имя пользователя и пароль в формате username:password для подключения к прокси-серверу.

CURLOPT_PROXY_CAINFO (int)

Путь к пакету сертификатов прокси-сервера, которые выдал центр сертификации. Опция принимает строку (string) с названием файла, который содержит один или набор сертификатов для проверки HTTPS-прокси. Назначение параметра — подключение к прокси-серверу по протоколу HTTPS, а не к HTTPS-серверу. По умолчанию опция содержит системный путь хранения, по которому предполагает найти cacert-файл с пакетом сертификатов библиотеки libcurl. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_CAINFO_BLOB (int)

Имя PEM-файла, который содержит один или набор сертификатов для проверки HTTPS-прокси. Назначение параметра — подключение к прокси-серверу по протоколу HTTPS, а не к HTTPS-серверу. По умолчанию опция содержит системный путь хранения, по которому предполагает найти cacert-файл с пакетом сертификатов библиотеки libcurl. Константа доступна с 8.2.0 и cURL 7.77.0.

CURLOPT_PROXY_CAPATH (int)

Каталог, который содержит набор сертификатов центра сертификации для проверки HTTPS-прокси. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_CRLFILE (int)

Устанавливает название файла путём конкатенации списка отзыва сертификатов (англ. Certificate Revocation List, CRL) в формате PEM для проверки сертификата во время SSL-обмена. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_ISSUERCERT (int)

Название файла издателя SSL-сертификата прокси-сервера. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_PROXY_ISSUERCERT_BLOB (int)

SSL-сертификат издателя для прокси-сервера, который хранится в блоке памяти, который содержит двоичные данные сертификата удостоверяющего центра. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_PROXY_KEYPASSWD (int)

Устанавливает строку, которую функция будет использовать как пароль, который требуется для подключения к HTTPS-прокси с закрытым ключом CURLOPT_PROXY_SSLKEY. Парольная фраза не нужна для загрузки сертификата, но она требуется для загрузки закрытого ключа отправителя. Назначение параметра — подключение к прокси-серверу по протоколу HTTPS, а не к HTTPS-серверу. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_PINNEDPUBLICKEY (int)

Устанавливает закреплённый открытый ключ для HTTPS-прокси. Опция принимает строку с именем файла прикреплённого открытого ключа отправителя. Опция ждёт файл в формате PEM или DER. Опция также принимает строку с sha256-хешами с префиксом "sha256//" в кодировке base64, которые разделили точкой с запятой ";". Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SERVICE_NAME (int)

Название службы аутентификации прокси-сервера. Константа доступна с PHP 7.0.7, cURL 7.43.0 (для HTTP-прокси) и cURL 7.49.0 (для SOCKS5-прокси).

CURLOPT_PROXY_SSLCERT (int)

Название файла клиентского сертификата отправителя для подключения к прокси-серверу по HTTPS-протоколу. Формат по умолчанию — P12 для защищенного протокола транспортного уровня и PEM для других движков; формат можно изменить опцией CURLOPT_PROXY_SSLCERTTYPE. При работе с библиотекой NSS или по защищённым транспортным протоколам (Secure Transport) опция также принимает псевдоним сертификата, с которым отправитель проходит аутентификацию. Псевдоним указывают так, как он хранится в базе данных безопасности. Перед названием файла — если требуется файл из текущего каталога — добавляют префикс «./», чтобы избежать путаницы с псевдонимом сертификата. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSLCERTTYPE (int)

Формат клиентского сертификата отправителя для подключения к прокси-серверу по HTTPS-протоколу. Опция поддерживает форматы PEM и DER, за исключением подключений к системам с движком на базе защищённых транспортных протоколов (Secure Transport). Механизмы на основе библиотеки OpenSSL (версии 0.9.3 или новее) и защищённых транспортных протоколов Secure Transport (на операционных системах iOS 5 или новее, или OS X 10.7 или новее) поддерживают также формат P12 для PKCS#12-кодированных файлов. Значение по умолчанию равно "PEM". Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSLCERT_BLOB (int)

Клиентский сертификат SSL-прокси из блока памяти, который содержит двоичные данные сертификата. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_PROXY_SSLKEY (int)

Название файла закрытого ключа отправителя для подключения к HTTPS-прокси. Формат по умолчанию: "PEM"; формат можно изменить опцией CURLOPT_PROXY_SSLKEYTYPE. Следующая часть параграфа относится только к операционным системам iOS и Mac OS X: функция игнорирует опцию, если модуль cURL собрали с поддержкой защищённых протоколов транспортного уровня (Secure Transport). Опция доступна с включённой встроенной поддержкой TLS-протокола. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSLKEYTYPE (int)

Устанавливает формат закрытого ключа отправителя. Опция поддерживает форматы: PEM, DER и ENG. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSLKEY_BLOB (int)

Закрытый ключ для сертификата прокси-сервера из блока памяти, который содержит двоичные данные сертификата. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_PROXY_SSLVERSION (int)

Константа из следующего списка: CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_MAX_DEFAULT, CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3, CURL_SSLVERSION_SSLv3 .

Внимание

Лучше не устанавливать эту опцию и оставить значение по умолчанию — CURL_SSLVERSION_DEFAULT, которое попытается определить версию удалённого SSL-протокола.

Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSL_CIPHER_LIST (int)

Определяет список шифров для подключения к прокси-серверу по HTTPS-протоколу. Опция принимает только синтаксически корректный список, который состоит из одного или нескольких строковых значений с названиями шифров, разделенных двоеточиями. Опция также принимает разделители в виде запятых и пробелов, но чаще пользуются двоеточием, а символы !, - и + указывают как операторы. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSL_OPTIONS (int)

Устанавливает параметры поведения SSL-прокси. Параметры устанавливают как битовую маску из следующих констант: CURLSSLOPT_ALLOW_BEAST, CURLSSLOPT_NO_REVOKE, CURLSSLOPT_NO_PARTIALCHAIN Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSL_VERIFYHOST (int)

Значение 2 устанавливают, чтобы сверить поля имени сертификата HTTPS-прокси с именем прокси-сервера. Со значением 0 соединение успешно выполняется независимо от имён в сертификате. При работе с опцией соблюдают осторожность! В curl 7.28.0 и более ранних версиях значение 1 рассматривается как опция отладки. С версии curl 7.28.1 до 7.65.3 функция возвращает ошибку CURLE_BAD_FUNCTION_ARGUMENT. Начиная с curl 7.66.0 и далее значения 1 и 2 обрабатываются как одно и то же значение. В производственных средах значение опции требуется оставлять равным 2 (значение по умолчанию). Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_SSL_VERIFYPEER (int)

Проверяет SSL-сертификат прокси-сервера. Со значением false опция останавливает проверку сертификата однорангового узла. Альтернативные сертификаты для проверки указывают через опцию CURLOPT_CAINFO, а каталог сертификатов указывают через опцию CURLOPT_CAPATH. При установке значения false проверка сертификата однорангового узла завершается успешно независимо от подлинности сертификата. Значение по умолчанию равняется true. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_TLS13_CIPHERS (int)

Список наборов шифров для подключения к прокси по протоколу TLS 1.3. Опция принимает только синтаксически правильный список, который состоит из одного или нескольких строковых значений с названиями наборов шифров, разделённых двоеточиями. Опция будет работать, только если curl собрали для работы с библиотекой OpenSSL 1.1.1 или новее. При работе с другим SSL-бэкендом попробуют установить наборы шифров протокола TLS 1.3 через опцию CURLOPT_PROXY_SSL_CIPHER_LIST. Константа доступна с 7.3.0 и cURL 7.61.0, если модуль собрали с поддержкой OpenSSL >= 1.1.1.

CURLOPT_PROXY_TLSAUTH_PASSWORD (int)

Опция устанавливает пароль для TLS-аутентификации методом, который указали в опции CURLOPT_PROXY_TLSAUTH_TYPE. Для работы опции требуется также установить параметр CURLOPT_PROXY_TLSAUTH_USERNAME. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_TLSAUTH_TYPE (int)

Метод аутентификации по протоколу TLS для HTTPS-соединения. Опция поддерживает метод "SRP".

Замечание:

Аутентификация по безопасному удаленному паролю (англ. Secure Remote Password, SRP) по протоколу TLS работает взаимно, только если у обеих сторон есть общий секрет. TLS-SRP-аутентификация будет работать, только если опции CURLOPT_PROXY_TLSAUTH_USERNAME и CURLOPT_PROXY_TLSAUTH_PASSWORD тоже установили.

Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PROXY_TLSAUTH_USERNAME (int)

Имя пользователя для TLS-аутентификации прокси-сервера по протоколу HTTPS для метода, который указали в опции CURLOPT_PROXY_TLSAUTH_TYPE. Для работы опции требуется также установить параметр CURLOPT_PROXY_TLSAUTH_PASSWORD. Константа доступна с 7.3.0 и cURL 7.52.0.

CURLOPT_PUT (int)

Для опции устанавливают значение true, чтобы отправить файл HTTP-методом PUT. Файл, который требуется разместить на сервере методом PUT, указывают в опции CURLOPT_INFILE, а предполагаемый размер файла указывают через опцию CURLOPT_INFILESIZE.

CURLOPT_QUICK_EXIT (int)

Константа доступна с 8.3.0 и cURL 7.87.0.

CURLOPT_QUOTE (int)

Массив FTP-команд, которые требуется выполнить на сервере перед FTP-запросом.

CURLOPT_RANDOM_FILE (int)

Название файла — источника случайных данных с начальным числом (seed), которое инициализирует генератор случайных чисел для передач по протоколу SSL.

CURLOPT_RANGE (int)

Диапазон или диапазоны данных в формате "X-Y", которые требуется извлечь, при этом индексы байтов — X или Y — разрешается не указывать. HTTP-передачи также поддерживают набор интервалов с разделением запятыми в формате "X-Y,N-M".

CURLOPT_READFUNCTION (int)

Опция принимает callback-функцию, которая принимает три аргумента. Первый — cURL-дескриптор, второй — ресурс потока, который передали модулю cURL через опцию CURLOPT_INFILE, и третий — максимальный объём данных для чтения. От callback-функции требуется возвращать строку, длина которой равна или меньше количества запрашиваемых данных, которую функция обратного вызова обычно считывает из ресурса потока, который установили во втором параметре. Об окончании данных в источнике — состояние EOF — функция сообщает возвратом пустой строки.

CURLOPT_REDIR_PROTOCOLS (int)

Битовая маска из значений констант семейства CURLPROTO_*, которая ограничивает протоколы, по которым библиотеке libcurl разрешается передавать данные при следовании перенаправлениям при включённой опции CURLOPT_FOLLOWLOCATION. Опция ограничивает отдельные передачи в перенаправлениях только подмножеством протоколов. По умолчанию библиотека libcurl разрешает все протоколы, за исключением URI-схемы FILE и протокола копирования файлов SCP. В версиях до 7.19.4 перенаправление действовало для всех протоколов без исключения. Описание опции CURLOPT_PROTOCOLS приводит список констант со значениями протоколов. Константа доступна с cURL 7.19.4.

CURLOPT_REDIR_PROTOCOLS_STR (int)

Константа доступна с 8.3.0 и cURL 7.85.0.

CURLOPT_REFERER (int)

Содержимое заголовка "Referer: ", который функция передаст в HTTP-запросе.

CURLOPT_REQUEST_TARGET (int)

Константа доступна с 7.3.0 и cURL 7.55.0.

CURLOPT_RESOLVE (int)

Указывает пользовательский адрес для конкретной пары хоста и порта. Массив строк, которые содержат имя хоста, порт и IP-адрес, и в которых каждый элемент отделили двоеточием. Опция принимает строки в формате: array("example.com:80:127.0.0.1") Константа доступна с cURL 7.21.3.

CURLOPT_RESUME_FROM (int)

Опция устанавливает смещение в байтах, с которого требуется возобновить передачу.

CURLOPT_RETURNTRANSFER (int)

Со значением true опция указывает функции curl_exec(), чтобы та вернула результат передачи в виде строки, а не выводила результат в стандартные потоки.

CURLOPT_SAFE_UPLOAD (int)

Значение по умолчанию равно true, что отключает поддержку префикса @ при загрузке файлов через опцию CURLOPT_POSTFIELDS, что означает, что значения, которые начинаются с символа @, разрешается безопасно передавать как поля. Альтернативный способ — отправлять файлы как объекты класса CURLFile.

CURLOPT_SASL_AUTHZID (int)

Идентификатор авторизации authzid для передачи. Параметр указывают только при работе с простым механизмом аутентификации PLAIN SASL, в котором это необязательно. Функция отправит на сервер вместе с паролем только идентификатор аутентификации authcid, который указали в имени пользователя, если для опции не указали значение. Сервер получит идентификатор авторизации authzid из идентификатора аутентификации authcid, если идентификатор авторизации не указали, а затем будет использовать идентификатор авторизации внутренне. Константа доступна с 8.2.0 и cURL 7.66.0.

CURLOPT_SASL_IR (int)

Со значением true опция разрешит отправку первоначального ответа в первом пакете. Константа доступна с 7.0.7 и cURL 7.31.0.

CURLOPT_SERVICE_NAME (int)

Имя службы аутентификации. Константа доступна с 7.0.7 и cURL 7.43.0.

CURLOPT_SHARE (int)

Опция принимает разделяемый cURL-дескриптор, который возвращает функция curl_share_init(). Разрешает cURL-дескриптору использовать данные из разделяемого дескриптора.

CURLOPT_SOCKS5_AUTH (int)

Опция устанавливает метод или методы SOCKS5-аутентификации. Опция принимает значения: CURLAUTH_BASIC, CURLAUTH_GSSAPI, CURLAUTH_NONE. Побитовый оператор ИЛИ (|) объединяет больше одного метода. При установке больше одного метода модуль cURL опросит сервер, чтобы понять, какие методы он поддерживает, и выберет лучший. Метод CURLAUTH_BASIC разрешает аутентификацию по имени пользователя и паролю. Метод CURLAUTH_GSSAPI разрешает аутентификацию через интерфейс GSS-API. Метод CURLAUTH_NONE разрешает передачу без аутентификации. Значение по умолчанию равно объединению методов: CURLAUTH_BASIC|CURLAUTH_GSSAPI. Имя пользователя и пароль устанавливают через опцию CURLOPT_PROXYUSERPWD. Константа доступна с 7.3.0 и cURL 7.55.0.

CURLOPT_SSH_AUTH_TYPES (int)

Опция принимает битовую маску из одного или нескольких значений: CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Флаг CURLSSH_AUTH_ANY разрешит библиотеке libcurl выбрать значение. Константа доступна с cURL 7.16.1.

CURLOPT_SSH_COMPRESSION (int)

Значение true включает встроенное SSH-сжатие. Это просьба, а не указание; сервер не обязан её выполнять. Константа доступна с 7.3.0 и cURL 7.56.0.

CURLOPT_SSH_HOSTKEYFUNCTION (int)

Константа доступна с 8.3.0 и cURL 7.84.0.

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (int)

Строка, которая содержит 32 шестнадцатеричные цифры. Строку требуется формировать как контрольную сумму открытого ключа удалённого хоста по алгоритму MD5, а библиотека libcurl отклонит соединение с хостом, если контрольные md5-суммы не совпадают. Опция работает только с SCP- и SFTP-передачами. Константа доступна с cURL 7.17.1.

CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (int)

Опция принимает Base64-кодированный SHA256-хеш открытого ключа удалённого хоста. Передача завершится ошибкой, если хеш не соответствует хешу удалённого хоста. Константа доступна с 8.2.0 и cURL 7.80.0.

CURLOPT_SSH_PRIVATE_KEYFILE (int)

Название файла закрытого ключа отправителя. Без этой опции библиотека libcurl по умолчанию извлекает закрытый ключ из файла $HOME/.ssh/id_dsa, если переменную окружения HOME установили, и просто файл "id_dsa" в текущем каталоге, если переменную HOME не установили. Пароль для файлов, которые защитили паролем, устанавливают через опцию CURLOPT_KEYPASSWD. Константа доступна с cURL 7.16.1.

CURLOPT_SSH_PUBLIC_KEYFILE (int)

Имя файла открытого ключа отправителя. Без этой опции библиотека libcurl по умолчанию извлекает открытый ключ из файла $HOME/.ssh/id_dsa.pub, если переменную окружения HOME установили, и просто файл "id_dsa.pub" в текущем каталоге, если переменную HOME не установили. Константа доступна с cURL 7.16.1.

CURLOPT_SSLCERT (int)

Имя файла с сертификатом в формате PEM.

CURLOPT_SSLCERTPASSWD (int)

Пароль, который требуется для сертификата, который указали в опции CURLOPT_SSLCERT.

CURLOPT_SSLCERTTYPE (int)

Формат сертификата. Опция поддерживает форматы "PEM" (по умолчанию), "DER" и "ENG". С OpenSSL 0.9.3 опция также поддерживает формат "P12" (для PKCS#12-кодированных файлов). Константа доступна с cURL 7.9.3.

CURLOPT_SSLCERT_BLOB (int)

SSL-сертификат клиента из области памяти, которая содержит двоичные данные. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_SSLENGINE (int)

Идентификатор криптографического движка закрытого SSL-ключа, который указали в опции CURLOPT_SSLKEY.

CURLOPT_SSLENGINE_DEFAULT (int)

Идентификатор криптографического движка асимметричных операций шифрования.

CURLOPT_SSLKEY (int)

Имя файла с закрытым SSL-ключом.

CURLOPT_SSLKEYPASSWD (int)

Секретный пароль, который требуется для закрытого SSL-ключа, который указали в опции CURLOPT_SSLKEY.

Замечание:

Поскольку опция содержит конфиденциальный пароль, PHP-скрипт с паролем хранят в безопасном месте.

CURLOPT_SSLKEYTYPE (int)

Тип закрытого SSL-ключа, который указали в опции CURLOPT_SSLKEY. Типы ключей, которые поддерживает опция: "PEM" (по умолчанию), "DER" и "ENG".

CURLOPT_SSLKEY_BLOB (int)

Закрытый ключ клиентского сертификата из области памяти, которая содержит двоичные данные. Константа доступна с 8.1.0 и cURL 7.71.0.

CURLOPT_SSLVERSION (int)

Опция принимает константы из следующего списка: CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_SSLv2, CURL_SSLVERSION_SSLv3, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3 . Максимальную версию протокола TLS устанавливают константой семейства CURL_SSLVERSION_MAX_*. Опция принимает объединение константы семейства CURL_SSLVERSION_* с константой семейства CURL_SSLVERSION_MAX_* через побитовое ИЛИ. CURL_SSLVERSION_MAX_DEFAULT (максимальная версия, которую поддерживает библиотека), CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3 .

Внимание

Лучше не устанавливать опцию и оставить значения по умолчанию, поскольку установка значения CURL_SSLVERSION_SSLv2 или CURL_SSLVERSION_SSLv3 серьёзную угрозу безопасности, если помнить об уязвимостях в протоколах SSLv2 и SSLv3.

CURLOPT_SSL_CIPHER_LIST (int)

Список шифров для передач по протоколу SSL. Например, RC4-SHA и TLSv1 — допустимый список шифров.

CURLOPT_SSL_EC_CURVES (int)

Разделённый двоеточиями список алгоритмов эллиптических кривых. Например, X25519:P-521 — допустимый список из двух эллиптических кривых. Опция определят алгоритмы обмена клиентскими ключами во время SSL-рукопожатия, если cURL-дескриптор SSL-бэкенда собрали с поддержкой этой опции. Константа доступна с 8.2.0 и cURL 7.73.0.

CURLOPT_SSL_ENABLE_ALPN (int)

Значение false отключает расширение ALPN во время SSL-рукопожатия (если на SSL-бэкенде библиотеку libcurl собрали с поддержкой ALPN-расширения TLS-протокола), которое согласовывает протокол безопасного соединения по протоколу HTTP2. Константа доступна с 7.0.7 и cURL 7.36.0.

CURLOPT_SSL_ENABLE_NPN (int)

Значение false отключает расширение NPN во время SSL-рукопожатия (если на SSL-бэкенде библиотеку libcurl собрали с поддержкой ALPN-расширения TLS-протокола), которое согласовывает протокол безопасного соединения по протоколу HTTP2. Константа доступна с 7.0.7 и cURL 7.36.0.

CURLOPT_SSL_FALSESTART (int)

Значение true включает режим ложного старта во время TLS-рукопожатия. Константа доступна с 7.0.7 и cURL 7.42.0.

CURLOPT_SSL_OPTIONS (int)

Устанавливает параметры SSL-поведения в виде битовой маски из следующих констант: CURLSSLOPT_ALLOW_BEAST, CURLSSLOPT_NO_REVOKE, CURLSSLOPT_AUTO_CLIENT_CERT, CURLSSLOPT_NATIVE_CA, CURLSSLOPT_NO_PARTIALCHAIN, CURLSSLOPT_REVOKE_BEST_EFFORT Константа доступна с 7.0.7. и cURL 7.25.0.

CURLOPT_SSL_VERIFYHOST (int)

Значение 2 указывают, чтобы убедиться, что поле общего имени (Common Name) или поле альтернативного имени субъекта (Subject Alternate Name) в сертификате однорангового SSL-узла соответствует имени хоста. Значение 0 указывают, чтобы не проверять имена. Значение 1 не следует использовать. В производственных средах значение параметра оставляют равным 2 (значение по умолчанию). Поддержку значения 1 удалили в cURL 7.28.1.

CURLOPT_SSL_VERIFYPEER (int)

Со значением false опция останавливает проверку сертификата однорангового узла. Альтернативные сертификаты для проверки указывают через опцию CURLOPT_CAINFO, а каталог сертификатов указывают через опцию CURLOPT_CAPATH. С cURL 7.10 значение по умолчанию равно true. Пакет по умолчанию устанавливается начиная с cURL 7.10.

CURLOPT_SSL_VERIFYSTATUS (int)

Со значением true опция проверяет статус сертификата. Константа доступна с 7.0.7 и cURL 7.41.0.

CURLOPT_STDERR (int)

Альтернативное место для вывода ошибок, в которое функция будет выводить ошибки вместо стандартного потока STDERR.

CURLOPT_STREAM_WEIGHT (int)

Устанавливает вес числового потока. Опция принимает значения от 1 до 256. Константа доступна с 7.0.7 и cURL 7.46.0.

CURLOPT_SUPPRESS_CONNECT_HEADERS (int)

Значение true при включённой опции CURLOPT_HTTPPROXYTUNNEL и запросе CONNECT подавляет заголовки ответов CONNECT прокси-сервера из пользовательских callback-функций, которые указали в опциях CURLOPT_HEADERFUNCTION и CURLOPT_WRITEFUNCTION Константа доступна с 7.3.0 и cURL 7.54.0.

CURLOPT_TCP_FASTOPEN (int)

Значение true включает механизм TCP Fast Open. Константа доступна с 7.0.7 и cURL 7.49.0.

CURLOPT_TCP_KEEPALIVE (int)

Со значением 1 опция будет отправлять пакеты для проверки активности TCP-соединения. Задержкой и частотой проверок управляют через опции CURLOPT_TCP_KEEPIDLE и CURLOPT_TCP_KEEPINTVL, если только операционная система поддерживает эти параметры. Со значением по умолчанию, которое равно 0, модуль не проверяет активность соединения. Константа доступна с cURL 7.25.0.

CURLOPT_TCP_KEEPIDLE (int)

Устанавливает задержку простоя соединения в секундах, которую операционная система выдержит перед отправкой пакета проверки активности соединения, если опцию CURLOPT_TCP_KEEPALIVE включили. Не каждая операционная система поддерживает эту опцию. Значение по умолчанию равно 60. Константа доступна с cURL 7.25.0.

CURLOPT_TCP_KEEPINTVL (int)

Устанавливает интервал ожидания в секундах, который операционная система будет выдерживать между отправкой пакетов проверки активности соединения, если опцию CURLOPT_TCP_KEEPALIVE включили. Не каждая операционная система поддерживает эту опцию. Значение по умолчанию равно 60. Константа доступна с cURL 7.25.0.

CURLOPT_TCP_NODELAY (int)

Значение true отключает алгоритм TCP-протокола Nagle, который пытается минимизировать количество мелких пакетов в сети. Константа доступна с cURL 7.11.2.

CURLOPT_TFTP_NO_OPTIONS (int)

Значение true отключает отправку запросов TFTP-параметров. Константа доступна с 7.0.7 и cURL 7.48.0.

CURLOPT_TIMECONDITION (int)

Устанавливает способ трактовки опции CURLOPT_TIMEVALUE. Значение CURL_TIMECOND_IFMODSINCE указывают, чтобы функция возвращала страницу, только если она изменилась со времени, которое указали в опции CURLOPT_TIMEVALUE. Функция вернёт заголовок "304 Not Modified", если страница не изменилась и значение опции CURLOPT_HEADER равно true. Значение CURL_TIMECOND_IFUNMODSINCE даёт обратный эффект. Со значением CURL_TIMECOND_NONE опция игнорирует опцию CURLOPT_TIMEVALUE и каждый раз возвращает страницу. Значение по умолчанию — CURL_TIMECOND_NONE. До cURL 7.46.0 значением по умолчанию было значение константы CURL_TIMECOND_IFMODSINCE.

CURLOPT_TIMEOUT (int)

Максимальное время выполнения функций модуля cURL в секундах.

CURLOPT_TIMEOUT_MS (int)

Максимальное время выполнения функций модуля cURL в миллисекундах. Эта часть соединения по-прежнему будет использовать разрешение в целую секунду для времён ожидания с минимальным допустимым временем ожидания в одну секунду, если библиотеку libcurl собрали со стандартным резольвером имён системы. Константа доступна с cURL 7.16.2.

CURLOPT_TIMEVALUE (int)

Время в секундах с 1 января 1970 года. Значение использует опция CURLOPT_TIMECONDITION.

CURLOPT_TIMEVALUE_LARGE (int)

Время в секундах с 1 января 1970 года. Значение использует опция CURLOPT_TIMECONDITION. Значение по умолчанию равно 0. Разница между этой опцией и опцией CURLOPT_TIMEVALUE состоит в типе аргумента. В системах, в которых размер структуры данных, которая принадлежит типу 'long', составляет всего 32 бита, для установки дат после 2038 года требуется указывать этот параметр. Константа доступна с 7.3.0 и cURL 7.59.0.

CURLOPT_TLS13_CIPHERS (int)

Список наборов шифров для подключения по протоколу TLS 1.3. Опция принимает только синтаксически правильный список, который состоит из одного или нескольких строковых значений с названиями наборов шифров, разделённых двоеточиями. Опция будет работать, только если curl собрали с библиотекой OpenSSL 1.1.1 или новее. При работе с другим SSL-бэкендом попробуют установить наборы шифров протокола TLS 1.3 через опцию CURLOPT_SSL_CIPHER_LIST. Константа доступна с 7.3.0 и cURL 7.61.0, если модуль собрали с поддержкой OpenSSL >= 1.1.1.

CURLOPT_TRANSFERTEXT (int)

Значение true устанавливает ASCII-режим для FTP-передач. При передаче данных по протоколу LDAP данные возвращаются простым текстом вместо HTML-разметки. В системах Windows это не установит стандартный поток вывода STDOUT в бинарный режим.

CURLOPT_UNIX_SOCKET_PATH (int)

Разрешает использовать сокеты UNIX-доменов как конечные точки соединения и устанавливает путь к заданной строке (string). Константа доступна с 7.0.7 и cURL 7.40.0.

CURLOPT_UNRESTRICTED_AUTH (int)

Со значением true функция продолжает отправку имени пользователя и пароля при следовании по перенаправлениям при включённой опции CURLOPT_FOLLOWLOCATION, даже когда название хоста изменилось.

CURLOPT_UPKEEP_INTERVAL_MS (int)

Отдельные протоколы со встроенным механизмом «поддержки соединения в рабочем состоянии» отправляют небольшой объем трафика через установленные соединения, чтобы держать соединения открытыми. Опция определяет интервал, в течение которого будет поддерживаться соединение. Действующий и единственный протокол с механизмом сохранения соединения — HTTP/2. Когда интервал поддержки соединения истекает, протокол HTTP/2 отправляет в соединение кадр PING. Значение по умолчанию – 60 секунд. Константа доступна с 8.2.0 и cURL 7.62.0.

CURLOPT_UPLOAD (int)

Для опции указывают значение true, чтобы подготовить файл к отправке на сервер.

CURLOPT_UPLOAD_BUFFERSIZE (int)

Устанавливает размер буфера, с которым cURL-дескриптор будет работать при отправке файла, в байтах. Размер буфера отправки файла по умолчанию — 64 килобайта. Максимальный размер буфера, который разрешается установить, — 2 мегабайта. Минимальный допустимый размер — 16 килобайтов. Константа доступна с 8.2.0 и cURL 7.62.0.

CURLOPT_URL (int)

URL-адрес, который требуется получить. Значение также устанавливают при инициализации сеанса функцией curl_init().

CURLOPT_USERAGENT (int)

Содержимое заголовка "User-Agent: ", которое функция отправит в HTTP-запросе.

CURLOPT_USERNAME (int)

Имя пользователя, которое функция отправит при аутентификации. Константа доступна с cURL 7.19.1.

CURLOPT_USERPWD (int)

Имя пользователя и пароль в формате "[username]:[password]", которые функция отправит при установке соединения.

CURLOPT_VERBOSE (int)

Со значением true опция выводит подробную информацию о передаче. Записывает вывод в поток STDERR или в файл, который указали в опции CURLOPT_STDERR.

CURLOPT_WRITEFUNCTION (int)

Callback-функция, которая принимает два аргумента. Первый — cURL-ресурс, второй — строка с данными для записи. Сохранить данные требуется этой функцией обратного вызова. Функция должна вернуть точное количество байтов, которое она записала, или передача прервётся и функция выдаст ошибку.

CURLOPT_WRITEHEADER (int)

Файл, в который записываются заголовки передачи.

CURLOPT_WS_OPTIONS (int)

Константа доступна с 8.3.0 и cURL 7.86.0.

CURLOPT_XFERINFOFUNCTION (int)

Callback-функция, которая принимает два аргумента. У опции то же назначение, что и у опции CURLOPT_PROGRESSFUNCTION, но более современное, лучше предпочесть эту cURL-опцию. Константа доступна с 8.2.0 и cURL 7.32.0.

CURLOPT_XOAUTH2_BEARER (int)

Указывает токен доступа для протокола OAuth 2.0. Константа доступна с 7.0.7 и cURL 7.33.0.

curl_share_setopt()
Константы Описание
CURL_LOCK_DATA_CONNECT (int) Разрешает или отменяет общий доступ к кешу соединений для простых дескрипторов. Константа доступна с PHP 7.3.0 и cURL 7.10.3.
Разрешает или отменяет общий доступ к блокам данных cookie для простых дескрипторов. Константа доступна с cURL 7.10.3.
CURL_LOCK_DATA_DNS (int) Разрешает или отменяет общий доступ к DNS-кешу для простых дескрипторов. Обратите внимание: при работе с мультидескрипторами модуля cURL, каждый дескриптор, который добавили к одному и тому же мультидескриптору, по умолчанию совместно используют DNS-кеш без этой опции. Константа доступна с cURL 7.10.3.
CURL_LOCK_DATA_PSL (int) Разрешает или отменяет общий доступ к списку публичных суффиксов (Public Suffix List) для простых дескрипторов. Константа доступна с PHP 7.3.0 и cURL 7.61.0.
CURL_LOCK_DATA_SSL_SESSION (int) Разрешает или отменяет общий доступ к идентификаторам SSL-сеансов для простых дескрипторов. За счёт совместного доступа сокращается время, которое требуется для SSL-рукопожатия при переподключении к тому же серверу. Обратите внимание, что по умолчанию идентификаторы SSL-сессий переиспользуются внутри одного и того же дескриптора. Константа доступна с cURL 7.10.3.
CURLSHOPT_NONE (int) Константа доступна с cURL 7.10.3.
CURLSHOPT_SHARE (int) Указывает, к какому типу данных требуется разрешить общий доступ. Константа доступна с cURL 7.10.3.
CURLSHOPT_UNSHARE (int) Указывает, к какому типу данных больше не требуется общий доступ. Константа доступна с cURL 7.10.3.
curl_getinfo()
Константы Описание
CURLINFO_APPCONNECT_TIME (int) Время в секундах, которое прошло от запуска до установления SSL- или SSH-подключения или рукопожатия с удалённым хостом.
CURLINFO_APPCONNECT_TIME_T (int) Время в микросекундах, которое прошло от запуска до завершения SSL- или SSH-подключения или рукопожатия с удалённым хостом. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
CURLINFO_CAINFO (int) Путь ко встроенному сертификату удостоверяющего центра по умолчанию. Опция доступна с PHP 8.3.0 и cURL 7.84.0.
CURLINFO_CAPATH (int) Строка пути встроенного сертификата удостоверяющего центра по умолчанию. Опция доступна с PHP 8.3.0 и cURL 7.84.0.
CURLINFO_CERTINFO (int) Устанавливает цепочку TLS-сертификатов.
CURLINFO_CONDITION_UNMET (int) Получает информацию о невыполненных за отведённое время условиях.
CURLINFO_CONNECT_TIME (int) Получает время в секундах, которое дескриптор затратил на установку соединения.
CURLINFO_CONNECT_TIME_T (int) Получает общее время в микросекундах, которое прошло от запуска до завершения подключения к удалённому хосту или прокси-серверу. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int) Получает размер полученных данных, который дескриптор прочитал из поля заголовка Content-Length.
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int) Получает размер полученных данных. Это значение считывается из поля Content-Length. Значение будет равно -1, если размер неизвестен. Опция доступна с PHP 7.3.0 и cURL 7.55.0.
CURLINFO_CONTENT_LENGTH_UPLOAD (int) Получает размер переданных данных.
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int) Получает размер отправленных данных. Значение будет равно -1, если размер неизвестен. Опция доступна с PHP 7.3.0 и cURL 7.55.0.
CURLINFO_CONTENT_TYPE (int) Получает значение заголовка Content-Type запрошенного документа. Значение NULL указывает, что сервер не отправил допустимый заголовок Content-Type.
CURLINFO_COOKIELIST (int) Все известные cookies
CURLINFO_EFFECTIVE_METHOD (int) Получает HTTP-метод последней эффективной передачи (в цепочке перенаправлений — прим. перев.).
CURLINFO_EFFECTIVE_URL (int) Получает последний эффективный URL-адрес (в цепочке перенаправлений — прим. перев.)
CURLINFO_FILETIME (int) Время получения документа по часам удалённого сервера, если опцию CURLOPT_FILETIME включили для дескриптора cURL; если возвращается значение -1, время получения документа неизвестно.
CURLINFO_FILETIME_T (int) Время получения документа в виде метки времени Unix по часам удалённого сервера, альтернатива опции CURLINFO_FILETIME, чтобы разрешить системам с 32-битными long-переменными извлекать даты за пределами диапазона 32-битных меток времени. Опция доступна с PHP 7.3.0 и cURL 7.59.0.
CURLINFO_FTP_ENTRY_PATH (int) Путь входа на FTP-сервер
CURLINFO_HEADER_OUT (int) Получает данные заголовка запроса в виде строки, которую дескриптор отправил одноранговому узлу. Опцию CURLINFO_HEADER_OUT добавляют в дескриптор функцией curl_setopt().
CURLINFO_HEADER_SIZE (int) Получает общий размер полученных заголовков.
CURLINFO_HTTPAUTH_AVAIL (int) Получает битовую маску доступного метода или методов аутентификации на основе данных предыдущего ответа.
CURLINFO_HTTP_CODE (int) Получает последний код ответа. С cURL 7.10.8 опция стала устаревшим псевдонимом опции CURLINFO_RESPONSE_CODE.
CURLINFO_HTTP_CONNECTCODE (int) Получает код ответа на запрос CONNECT.
CURLINFO_HTTP_VERSION (int) Получает версию HTTP-протокола последнего соединении. Значение возврата будет равно значению константы семейства CURL_HTTP_VERSION_* или 0, если версию невозможно определить. Опция доступна с PHP 7.3.0 и cURL 7.50.0.
CURLINFO_LASTONE (int) Получает последнее значение перечисления в базовом перечислении CURLINFO в библиотеке libcurl.
CURLINFO_LOCAL_IP (int) Получает локальный (исходящий) IP-адрес последнего соединения.
CURLINFO_LOCAL_PORT (int) Получает локальный (исходящий) порт последнего соединения.
CURLINFO_NAMELOOKUP_TIME (int) Получает время в секундах, которое дескриптор затратил на разрешение имени.
CURLINFO_NAMELOOKUP_TIME_T (int) Получает время в микросекундах, которое дескриптор затратил на разрешение имени. Опция доступна с PHP 7.3.0 и cURL 7.61.0
CURLINFO_NUM_CONNECTS (int) Получает количество соединений, которое библиотеке curl пришлось создать, чтобы успешно выполнить предыдущую передачу.
CURLINFO_OS_ERRNO (int) Получает значение переменной Errno при сбое соединения. Номер ошибки зависит от ОС и ПО.
CURLINFO_PRETRANSFER_TIME (int) Время в секундах от запуска до момента начала передачи файла.
CURLINFO_PRETRANSFER_TIME_T (int) Время в микросекундах от запуска до момента начала передачи файла. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
CURLINFO_PRIMARY_IP (int) IP-адрес последнего соединения.
CURLINFO_PRIMARY_PORT (int) Порт назначения последнего соединения.
CURLINFO_PRIVATE (int) Получает закрытые данные, связанные с текущим cURL-дескриптором, которые прежде установили функцией curl_setopt() с опцией CURLOPT_PRIVATE.
CURLINFO_PROTOCOL (int) Получает протокол последнего HTTP-соединения. Значение возврата будет равно значению константы семейства CURLPROTO_*. Опция доступна с PHP 7.3.0 и cURL 7.52.0.
CURLINFO_PROXYAUTH_AVAIL (int) Получает битовую маску доступного метода или методов аутентификации прокси-сервера на основе данных предыдущего ответа.
CURLINFO_PROXY_ERROR (int) Получает подробный код ошибки SOCKS-прокси, когда последняя передача вернула ошибку CURLE_PROXY error. Значение возврата будет равно значению константы семейства CURLPX_*. Код ошибки будет равен значению константы CURLPX_OK, если код ответа не был доступен. Опция доступна с PHP 8.2.0 и cURL 7.73.0.
CURLINFO_PROXY_SSL_VERIFYRESULT (int) Получает результат запрошенной проверки сертификата (с опцией CURLOPT_PROXY_SSL_VERIFYPEER option). Работает только для серверов HTTPS-прокси. Опция доступна с PHP 7.3.0 и cURL 7.52.0.
CURLINFO_REDIRECT_COUNT (int) Получает число перенаправлений, если опцию CURLOPT_FOLLOWLOCATION включили.
CURLINFO_REDIRECT_TIME (int) Получает общее время в секундах, которое потребовалось для всех шагов перенаправления до запуска последней транзакции, если опцию CURLOPT_FOLLOWLOCATION включили.
CURLINFO_REDIRECT_TIME_T (int) Получает общее время в микросекундах, которое потребовалось для всех шагов перенаправления, включая поиск имени, подключение, предварительную о основную передачу до запуска окончательной транзакции. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
CURLINFO_REDIRECT_URL (int) Если опцию CURLOPT_FOLLOWLOCATION отключили: URL-адрес перенаправления, который функция нашла в последней транзакции и который в следующий раз требуется запросить вручную. Если опцию CURLOPT_FOLLOWLOCATION включили: пустое значение. Тогда URL-адрес перенаправления доступен в опции CURLINFO_EFFECTIVE_URL.
CURLINFO_REFERER (int) Получает заголовок Referer. Опция доступна с PHP 8.2.0 и cURL 7.76.0.
CURLINFO_REQUEST_SIZE (int) Получает общий размер отправленных запросов; опция работает пока только для HTTP-запросов.
CURLINFO_RESPONSE_CODE (int) Последний код ответа. Опция доступна с cURL 7.10.8
CURLINFO_RETRY_AFTER (int) Возвращает информацию из заголовка Retry-After или 0, если передача не содержала заголовка или синтаксис заголовка оказался недопустимым. Опция доступна с PHP 8.2.0 и cURL 7.66.0.
CURLINFO_RTSP_CLIENT_CSEQ (int) Следующий CSeq-заголовок RTSP-клиента.
CURLINFO_RTSP_CSEQ_RECV (int) Последний полученный заголовок CSeq.
CURLINFO_RTSP_SERVER_CSEQ (int) Следующий CSeq-заголовок RTSP-сервера.
CURLINFO_RTSP_SESSION_ID (int) Идентификатор RTSP-сессии.
CURLINFO_SCHEME (int) Схема URL-адреса последнего соединения. Опция доступна с PHP 7.3.0 и cURL 7.52.0.
CURLINFO_SIZE_DOWNLOAD (int) Общее количество полученных байтов.
CURLINFO_SIZE_DOWNLOAD_T (int) Общее количество полученных байтов. Число указывается только для последней передачи и сбрасывается при каждой новой передаче. Опция доступна с PHP 7.3.0 и cURL 7.50.0.
CURLINFO_SIZE_UPLOAD (int) Общее количество переданных байтов.
CURLINFO_SIZE_UPLOAD_T (int) Общее количество переданных байтов. Опция доступна с PHP 7.3.0 и cURL 7.50.0.
CURLINFO_SPEED_DOWNLOAD (int) Средняя скорость получения данных.
CURLINFO_SPEED_DOWNLOAD_T (int) Средняя скорость получения данных в байтах в секунду, которую curl измерил в конце передачи. Опция доступна с PHP 7.3.0 и cURL 7.50.0.
CURLINFO_SPEED_UPLOAD (int) Средняя скорость передачи данных.
CURLINFO_SPEED_UPLOAD_T (int) Средняя скорость передачи данных в байтах в секунду, которую curl измерил в конце передачи. Опция доступна с PHP 7.3.0 и cURL 7.50.0.
CURLINFO_SSL_ENGINES (int) Список поддерживаемых криптодвижков библиотеки OpenSSL.
CURLINFO_SSL_VERIFYRESULT (int) Результат проверки SSL-сертификата, который запросили с опцией CURLOPT_SSL_VERIFYPEER.
CURLINFO_STARTTRANSFER_TIME (int) Время в секундах от запуска передачи до получения первого байта.
CURLINFO_STARTTRANSFER_TIME_T (int) Время в микросекундах от запуска передачи до получения первого байта. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
CURLINFO_TOTAL_TIME (int) Общее время транзакции в секундах для последней передачи.
CURLINFO_TOTAL_TIME_T (int) Общее время предыдущей передачи в микросекундах, включая разрешение имени, TCP-соединение и т. д. Опция доступна с PHP 7.3.0 и cURL 7.61.0.
curl_multi_setopt()
Константы Описание
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int) Указывает порог длины фрагмента в байтах для конвейерной обработки. Константа доступна с PHP 7.0.7 и cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int) Указывает порог размера в байтах для назначения штрафных санкций при конвейерной обработке. Константа доступна с PHP 7.0.7 и cURL 7.30.0
CURLMOPT_MAXCONNECTS (int) Указывает максимальное количество одновременно открытых соединений, которое библиотеке libcurl разрешается кешировать. По умолчанию размер будет увеличен до уровня, который вместит в 4 раза больше дескрипторов, чем добавили функцией curl_multi_add_handle(). Когда кеш заполняется, модуль curl закрывает самое старое соединение в кеше, чтобы предотвратить увеличение количества открытых подключений. Константа доступна с cURL 7.16.3.
CURLMOPT_MAX_CONCURRENT_STREAMS (int) Указывает максимальное количество одновременных потоков для соединений, которые модулю cURL требуется поддерживать при соединениях по протоколу HTTP/2. Допустимый диапазон значений составляет от 1 до 2 147 483 647 (2^31 - 1). Значение, которое сюда передали, будет учитываться на основе свойств других ресурсов системы. Значение по умолчанию равняется 100. Константа доступна с PHP 8.2.0 и cURL 7.67.0.
CURLMOPT_MAX_HOST_CONNECTIONS (int) Указывает максимальное количество подключений к одному хосту. Константа доступна с PHP 7.0.7 и cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (int) Указывает максимальное количество запросов в конвейере. Константа доступна с PHP 7.0.7 и cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (int) Указывает максимальное количество одновременно открытых соединений. Константа доступна с PHP 7.0.7 и cURL 7.30.0
CURLMOPT_PIPELINING (int) Значение 1 включает, а 0 выключает конвейерную обработку. Включение конвейерной обработки для мультидескриптора заставит дескриптор выполнить конвейерную обработку по HTTP-протоколу настолько, насколько это окажется возможным для передач через этот дескриптор. Это означает, что добавление второго запроса, который может использовать уже существующее соединение, «конвейеризует» второй запрос через то же соединение. Начиная с cURL 7.43.0 это значение — битовая маска, и при передаче значения 2 модуль попытается мультиплексировать новую передачу через существующие HTTP/2-соединение. Значение 3 инструктирует модуль cURL запрашивать конвейерную обработку и мультиплексирование независимо друг от друга. Начиная с cURL 7.62.0 установка бита конвейерной обработки не даёт никакого эффекта. Вместо целочисленных литералов разрешается также указывать константы семейства CURLPIPE_*. Константа доступна с cURL 7.16.0
CURLMOPT_PUSHFUNCTION (int)

Модуль зарегистрирует объект callable, который указали в опции, для обработки пуш-уведомлений сервера. Допускается следующая сигнатура вызываемого объекта:

pushfunction(resource $parent_ch, resource $pushed_ch, array $headers): int
parent_ch
Родительский cURL-дескриптор (запрос, который сделал клиент).
pushed_ch
Новый cURL-дескриптор для отправленного push-запроса.
headers
Заголовки push-обещания.
Push-функция должна возвращать либо CURL_PUSH_OK, если может обработать пуш, или CURL_PUSH_DENY, чтобы отклонить пуш. Константа доступна с PHP 7.1.0 и cURL 7.44.0

cURL protocol constants
Константы Описание
CURLPROTO_ALL (int) Константа доступна с cURL 7.19.4.
CURLPROTO_DICT (int) Константа доступна с cURL 7.19.4.
CURLPROTO_FILE (int) Константа доступна с cURL 7.19.4.
CURLPROTO_FTP (int) Константа доступна с cURL 7.19.4.
CURLPROTO_FTPS (int) Константа доступна с cURL 7.19.4.
CURLPROTO_GOPHER (int) Константа доступна с cURL 7.21.2.
CURLPROTO_HTTP (int) Константа доступна с cURL 7.19.4.
CURLPROTO_HTTPS (int) Константа доступна с cURL 7.19.4.
CURLPROTO_IMAP (int) Константа доступна с cURL 7.20.0.
CURLPROTO_IMAPS (int) Константа доступна с cURL 7.20.0.
CURLPROTO_LDAP (int) Константа доступна с cURL 7.19.4.
CURLPROTO_LDAPS (int) Константа доступна с cURL 7.19.4.
CURLPROTO_MQTT (int) Константа доступна с PHP 8.2.0 и cURL 7.71.0.
CURLPROTO_POP3 (int) Константа доступна с cURL 7.20.0.
CURLPROTO_POP3S (int) Константа доступна с cURL 7.20.0.
CURLPROTO_RTMP (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTMPE (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTMPS (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTMPT (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTMPTE (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTMPTS (int) Константа доступна с cURL 7.21.0.
CURLPROTO_RTSP (int) Константа доступна с cURL 7.20.0.
CURLPROTO_SCP (int) Константа доступна с cURL 7.19.4.
CURLPROTO_SFTP (int) Константа доступна с cURL 7.19.4.
CURLPROTO_SMB (int) Константа доступна с PHP 7.0.7 и cURL 7.40.0.
CURLPROTO_SMBS (int) Константа доступна с PHP 7.0.7 и cURL 7.40.0.
CURLPROTO_SMTP (int) Константа доступна с cURL 7.20.0.
CURLPROTO_SMTPS (int) Константа доступна с cURL 7.20.0.
CURLPROTO_TELNET (int) Константа доступна с cURL 7.19.4.
CURLPROTO_TFTP (int) Константа доступна с cURL 7.19.4.
Константы ошибок cURL
Константы Описание
CURLE_ABORTED_BY_CALLBACK (int) Callback-функция прервала выполнение. Обратный вызов вернул модулю libcurl «прерывание».
CURLE_BAD_CALLING_ORDER (int)
CURLE_BAD_CONTENT_ENCODING (int) Нераспознанная кодировка передачи.
CURLE_BAD_DOWNLOAD_RESUME (int) Не удалось возобновить загрузку, поскольку указанное смещение вышло за пределы файла.
CURLE_BAD_FUNCTION_ARGUMENT (int) Функцию вызвали с неверным параметром.
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_COULDNT_CONNECT (int) Не удалось подключиться к хосту или прокси.
CURLE_COULDNT_RESOLVE_HOST (int) Не удалось разрешить хост. Удаленный хост не был разрешён.
CURLE_COULDNT_RESOLVE_PROXY (int) Не удалось разрешить прокси. Не удалось разрешить прокси-хост.
CURLE_FAILED_INIT (int) Early initialization code failed. Скорее всего, это внутренняя ошибка или проблема, или проблема с ресурсами, когда что-то фундаментальное не может быть выполнено во время инициализации.
CURLE_FILESIZE_EXCEEDED (int) Превышен максимальный размер файла.
CURLE_FILE_COULDNT_READ_FILE (int) Не удалось открыть файл, путь к которому указали через FILE://. Скорее всего, потому, что путь к файлу не идентифицирует существующий файл или из-за отсутствия соответствующих прав доступа к файлу.
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FTP_CANT_GET_HOST (int) Внутренняя ошибка при поиске хоста для нового соединения.
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_FTP_COULDNT_RETR_FILE (int) Это был или неожиданный ответ на команду RETR, или передача нулевого байта завершена.
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_FTP_COULDNT_USE_REST (int) Команда FTP-сервера REST вернула ошибку. Этого никогда не должно произойти, если сервер в порядке.
CURLE_FTP_PARTIAL_FILE (int)
CURLE_FTP_PORT_FAILED (int) Команда FTP-сервера PORT вернула ошибку. Чаще всего это происходит, когда не указали достаточно хороший адрес для модуля libcurl. Смотрите описание параметра CURLOPT_FTPPORT.
CURLE_FTP_QUOTE_ERROR (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_227_FORMAT (int) FTP-серверы возвращают строку ответа с кодом 227 на команду PASV. Если модуль libcurl не сможет проанализировать эту строку, этот код возврата передаётся обратно.
CURLE_FTP_WEIRD_PASS_REPLY (int) После отправки FTP-пароля на сервер модуль libcurl ожидает правильного ответа. Этот код ошибки указывает на то, что сервер вернул неожиданный код.
CURLE_FTP_WEIRD_PASV_REPLY (int) Модулю libcurl не удалось получить от сервера приемлемый результат в ответ на команду PASV или EPSV. Сервер неисправен.
CURLE_FTP_WEIRD_SERVER_REPLY (int) Сервер отправил данные, которые модуль libcurl не смог проанализировать. С cURL 7.51.0 этот код ошибки называется CURLE_WEIRD_SERVER_REPLY.
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FUNCTION_NOT_FOUND (int) Функция не найдена. Модуль не смог найти требуемую zlib-функцию.
CURLE_GOT_NOTHING (int) Сервер ничего не вернул, и в этих обстоятельствах отсутствие ответа считается ошибкой.
CURLE_HTTP_NOT_FOUND (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_HTTP_POST_ERROR (int) Это необычная ошибка, которая в основном возникает из-за внутренней неясности.
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_RETURNED_ERROR (int) Ошибка возвращается, если для параметра CURLOPT_FAILONERROR установили значение true и HTTP-сервер возвращает код ошибки, который больше или равен 400.
CURLE_LDAP_CANNOT_BIND (int) LDAP-клиент не может привязаться. Операция LDAP-аутентификации не удалась.
CURLE_LDAP_INVALID_URL (int)
CURLE_LDAP_SEARCH_FAILED (int) LDAP-поиск не удался.
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_MALFORMAT_USER (int)
CURLE_OBSOLETE (int)
CURLE_OK (int) Всё в порядке. Продолжайте как обычно.
CURLE_OPERATION_TIMEDOUT (int) Время ожидания операции истекло. Указанный период времени ожидания истёк в соответствии с условиями.
CURLE_OPERATION_TIMEOUTED (int)
CURLE_OUT_OF_MEMORY (int) Запрос на выделение памяти не выполнен.
CURLE_PARTIAL_FILE (int) Передача файла оказалась короче или длиннее, чем ожидалось. Ошибка возникает, когда сервер впервые сообщает ожидаемый размер передачи, а затем доставляет данные, которые не соответствуют ранее заданному размеру.
CURLE_PROXY (int) Ошибка подтверждения связи с прокси-сервером. Опция CURLINFO_PROXY_ERROR даёт дополнительную информацию о конкретной проблеме. Ошибка доступна с PHP 8.2.0 и cURL 7.73.0
CURLE_READ_ERROR (int) Возникла проблема с чтением локального файла или ошибка, которую вернула callback-функция чтения.
CURLE_RECV_ERROR (int) Сбой при получении сетевых данных.
CURLE_SEND_ERROR (int) Не удалось отправить сетевые данные.
CURLE_SHARE_IN_USE (int)
CURLE_SSH (int) Во время SSH-сеанса возникла неизвестная ошибка. Ошибка доступна с cURL 7.16.1.
CURLE_SSL_CACERT (int)
CURLE_SSL_CACERT_BADFILE (int) Проблема с чтением SSL-сертификата удостоверяющего CA-центра.
CURLE_SSL_CERTPROBLEM (int) Проблема с сертификатом локального клиента.
CURLE_SSL_CIPHER (int) Could not use specified cipher.
CURLE_SSL_CONNECT_ERROR (int) Проблема возникла на каком-то этапе подтверждения связи по протоколу SSL или TLS. Чтение сообщения в буфере ошибок даёт более подробную информацию о проблеме. Проблему вызывают сертификаты (форматы файлов, пути, разрешения), пароли и т. д.
CURLE_SSL_ENGINE_NOTFOUND (int) Модуль не смог найти криптомеханизм, который установили в параметрах дескриптора.
CURLE_SSL_ENGINE_SETFAILED (int) Модуль не смог установить выбранный SSL-механизм шифрования по умолчанию.
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_SSL_PINNEDPUBKEYNOTMATCH (int) Модуль не смог сопоставить закреплённый ключ, который указали через параметр CURLOPT_PINNEDPUBLICKEY.
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_TOO_MANY_REDIRECTS (int) Слишком много перенаправлений. При следовании по перенаправлениям модуль libcurl достигает максимального значения. Ограничение устанавливают через параметр CURLOPT_MAXREDIRS.
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_UNSUPPORTED_PROTOCOL (int) URL-адрес, который передали модулю libcurl, использовал протокол, который libcurl не поддерживает. Проблема может заключаться в неиспользованной опции времени компиляции, в строке протокола, которую неправильно написали, или просто в протоколе, для которого в модуле libcurl нет кода.
CURLE_URL_MALFORMAT (int) URL-адрес отформатировали неправильно.
CURLE_URL_MALFORMAT_USER (int)
CURLE_WEIRD_SERVER_REPLY (int) Сервер отправил данные, которые модуль libcurl не смог проанализировать. До cURL 7.51.0 этот код ошибки назывался CURLE_FTP_WEIRD_SERVER_REPLY. Ошибка доступна с PHP 7.3.0 и cURL 7.51.0
CURLE_WRITE_ERROR (int) Ошибка возникла при записи полученных данных в локальный файл или ошибка вернулась в модуль libcurl из callback-функции записи.
curl_multi_* status constants
Константы Описание
CURLM_ADDED_ALREADY (int) Простой дескриптор, который уже добавили в множественный дескриптор, попытались добавить во второй раз. Константа доступна с cURL 7.32.1.
CURLM_BAD_EASY_HANDLE (int) Простой дескриптор оказался недопустим. Это может означать, что это вообще не простой дескриптор или, возможно, дескриптор уже использовался в этом или другом мультидескрипторе. Константа доступна с cURL 7.9.6.
CURLM_BAD_HANDLE (int) Переданный дескриптор оказался недопустимым мультидескриптором. Константа доступна с cURL 7.9.6.
CURLM_CALL_MULTI_PERFORM (int) Начиная с cURL 7.20.0 константа не используется. До cURL 7.20.0 этот статус возвращала функция curl_multi_exec(), когда до возврата функцией любой другой константы вызывали curl_multi_select() или похожую функцию. Константа доступна с cURL 7.9.6.
CURLM_INTERNAL_ERROR (int) Внутренняя ошибка библиотеки libcurl. Константа доступна с cURL 7.9.6.
CURLM_OK (int) Ошибки не возникали. Константа доступна с cURL 7.9.6.
CURLM_OUT_OF_MEMORY (int) Закончилась память при обработке мультидескрипторов. Константа доступна с cURL 7.9.6.
curl_pause()
Константы Описание
CURLPAUSE_ALL (int) Приостанавливает отправку и получение данных. Константа доступна с cURL 7.18.0.
CURLPAUSE_CONT (int) Возобновляет отправку и получение данных. Константа доступна с cURL 7.18.0.
CURLPAUSE_RECV (int) Приостанавливает получение данных. Константа доступна с cURL 7.18.0.
CURLPAUSE_RECV_CONT (int) Возобновляет получение данных. Константа доступна с cURL 7.18.0.
CURLPAUSE_SEND (int) Приостанавливает отправку данных. Константа доступна с cURL 7.18.0.
CURLPAUSE_SEND_CONT (int) Возобновляет отправку данных. Константа доступна с cURL 7.18.0.
Добавить

Примечания пользователей 4 notes

up
30
nimasdj [AT] yahoo [DOT] com
9 years ago
I hope this would be useful to convert error codes:

<?php
$curl_errno
= array(
1 => "CURLE_UNSUPPORTED_PROTOCOL",
2 => "CURLE_FAILED_INIT",
3 => "CURLE_URL_MALFORMAT",
4 => "CURLE_URL_MALFORMAT_USER",
5 => "CURLE_COULDNT_RESOLVE_PROXY",
6 => "CURLE_COULDNT_RESOLVE_HOST",
7 => "CURLE_COULDNT_CONNECT",
8 => "CURLE_FTP_WEIRD_SERVER_REPLY",
9 => "CURLE_FTP_ACCESS_DENIED",
10 => "CURLE_FTP_USER_PASSWORD_INCORRECT",
11 => "CURLE_FTP_WEIRD_PASS_REPLY",
12 => "CURLE_FTP_WEIRD_USER_REPLY",
13 => "CURLE_FTP_WEIRD_PASV_REPLY",
14 => "CURLE_FTP_WEIRD_227_FORMAT",
15 => "CURLE_FTP_CANT_GET_HOST",
16 => "CURLE_FTP_CANT_RECONNECT",
17 => "CURLE_FTP_COULDNT_SET_BINARY",
18 => "CURLE_FTP_PARTIAL_FILE or CURLE_PARTIAL_FILE",
19 => "CURLE_FTP_COULDNT_RETR_FILE",
20 => "CURLE_FTP_WRITE_ERROR",
21 => "CURLE_FTP_QUOTE_ERROR",
22 => "CURLE_HTTP_NOT_FOUND or CURLE_HTTP_RETURNED_ERROR",
23 => "CURLE_WRITE_ERROR",
24 => "CURLE_MALFORMAT_USER",
25 => "CURLE_FTP_COULDNT_STOR_FILE",
26 => "CURLE_READ_ERROR",
27 => "CURLE_OUT_OF_MEMORY",
28 => "CURLE_OPERATION_TIMEDOUT or CURLE_OPERATION_TIMEOUTED",
29 => "CURLE_FTP_COULDNT_SET_ASCII",
30 => "CURLE_FTP_PORT_FAILED",
31 => "CURLE_FTP_COULDNT_USE_REST",
32 => "CURLE_FTP_COULDNT_GET_SIZE",
33 => "CURLE_HTTP_RANGE_ERROR",
34 => "CURLE_HTTP_POST_ERROR",
35 => "CURLE_SSL_CONNECT_ERROR",
36 => "CURLE_BAD_DOWNLOAD_RESUME or CURLE_FTP_BAD_DOWNLOAD_RESUME",
37 => "CURLE_FILE_COULDNT_READ_FILE",
38 => "CURLE_LDAP_CANNOT_BIND",
39 => "CURLE_LDAP_SEARCH_FAILED",
40 => "CURLE_LIBRARY_NOT_FOUND",
41 => "CURLE_FUNCTION_NOT_FOUND",
42 => "CURLE_ABORTED_BY_CALLBACK",
43 => "CURLE_BAD_FUNCTION_ARGUMENT",
44 => "CURLE_BAD_CALLING_ORDER",
45 => "CURLE_HTTP_PORT_FAILED",
46 => "CURLE_BAD_PASSWORD_ENTERED",
47 => "CURLE_TOO_MANY_REDIRECTS",
48 => "CURLE_UNKNOWN_TELNET_OPTION",
49 => "CURLE_TELNET_OPTION_SYNTAX",
50 => "CURLE_OBSOLETE",
51 => "CURLE_SSL_PEER_CERTIFICATE",
52 => "CURLE_GOT_NOTHING",
53 => "CURLE_SSL_ENGINE_NOTFOUND",
54 => "CURLE_SSL_ENGINE_SETFAILED",
55 => "CURLE_SEND_ERROR",
56 => "CURLE_RECV_ERROR",
57 => "CURLE_SHARE_IN_USE",
58 => "CURLE_SSL_CERTPROBLEM",
59 => "CURLE_SSL_CIPHER",
60 => "CURLE_SSL_CACERT",
61 => "CURLE_BAD_CONTENT_ENCODING",
62 => "CURLE_LDAP_INVALID_URL",
63 => "CURLE_FILESIZE_EXCEEDED",
64 => "CURLE_FTP_SSL_FAILED",
79 => "CURLE_SSH"
);
?>
up
17
s dot coletta at unidata dot it
15 years ago
Beware of CURLE_* constants!

On the official site:

http://curl.haxx.se/libcurl/c/libcurl-errors.html

some constants are different, some missing compared to the PHP implementation.

Some examples:

in PHP the curl error number 28 is called

CURLE_OPERATION_TIMEOUTED

while in the official site is:

CURLE_OPERATION_TIMEDOUT

So if you use the second, it won't march the error 28 because in PHP it is not defined that way.

The same is for these:

CURLE_HTTP_RETURNED_ERROR
CURLE_UPLOAD_FAILED
CURLE_INTERFACE_FAILED
CURLE_SSL_CERTPROBLEM
CURLE_SEND_FAIL_REWIND
CURLE_LOGIN_DENIED
CURLE_AGAIN

that are in someway named differently or missing from PHP.
up
8
uramihsayibok, gmail, com
9 years ago
Regarding CURLE_OPERATION_TIMEDOUT vs. CURLE_OPERATION_TIMEOUTED:

Originally cURL had the constant named TIMEOUTED (read: "timeout-ed"). This was changed[1] in 2007 and v7.17.0 to be TIMEDOUT (read: "timed out") and the old constant kept in place as an alias.

PHP started off using TIMEOUTED as well. The TIMEDOUT constant was added[2] in 2012 and v5.5.0 and the old constant was *kept in place*.

If you ask me, the TIMEDOUT constant reads more nicely (not to mention is technically the correct one to use) and as long as you're using PHP 5.5+ then it is available. If you have to support older versions then I suggest you keep using the new constant and add a polyfill like

<?php
if (version_compare(PHP_VERSION, "5.5.0", "<")) {
define("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEOUTED);
}
?>

or

<?php
// PHP <5.5.0
defined("CURLE_OPERATION_TIMEDOUT") || define("CURLE_OPERATION_TIMEDOUT", CURLE_OPERATION_TIMEOUTED);
?>

to be removed once you stop supporting them.

[1] https://github.com/bagder/curl/commit/9f44a95522162c0f4a61093efe1bf1f58b087358#diff-d8c6cb80505e0f7d5e27fca2a682aa34L119
[2] https://github.com/php/php-src/commit/9ab45d3edbafa3ee751472c3f8d1fb3f51f38cf1#diff-ac978e3de205f1d14eb960e0eb15ef24R723
up
9
Ron
17 years ago
<?
/*
* Author: Ron
* Released: August 4, 2007
* Description: An example of the disguise_curl() function in order to grab contents from a website while remaining fully camouflaged by using a fake user agent and fake headers.
*/

$url = 'http://www.ericgiguere.com/tools/http-header-viewer.html';

// disguises the curl using fake headers and a fake user agent.
function disguise_curl($url)
{
$curl = curl_init();

// Setup headers - I used the same headers from Firefox version 2.0.0.6
// below was split up because php.net said the line was too long. :/
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: "; // browsers keep this blank.

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);

$html = curl_exec($curl); // execute the curl command
curl_close($curl); // close the connection

return $html; // and finally, return $html
}

// uses the function and displays the text off the website
$text = disguise_curl($url);
echo $text;
?>

~Ron
To Top