预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

curl_setopt()curl_multi_setopt()curl_getinfo() 文档中常量的描述和使用。

CURLOPT_AUTOREFERER (int)
CURLOPT_COOKIESESSION (int)
CURLOPT_DOH_URL (int)
提供 DNS-over-HTTPS URL。 从 PHP 8.1.0 和 cURL 7.62.0 开始可用。
CURLOPT_DOH_SSL_VERIFYHOST (int)
根据主机名验证 DNS-over-HTTPS 服务器的 SSL 证书名称字段。自 PHP 8.2.0 和 cURL 7.76.0 版本可用。
CURLOPT_DOH_SSL_VERIFYPEER (int)
验证 DNS-over-HTTPS 服务器的 SSL 证书的真实性。自 PHP 8.2.0 和 cURL 7.76.0 版本可用。
CURLOPT_DOH_SSL_VERIFYSTATUS (int)
告诉 cURL 使用“证书状态请求”TLS 扩展(OCSP stapling)验证 DNS-over-HTTPS 服务器证书的状态。自 PHP 8.2.0 和 cURL 7.76.0 版本可用。
CURLOPT_DNS_USE_GLOBAL_CACHE (int)
CURLOPT_DNS_CACHE_TIMEOUT (int)
CURLOPT_FTP_SSL (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 起可用
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPMETHOD_DEFAULT (int)
自 PHP 8.2.0 和 cURL 7.15.3 起可用。
CURLOPT_PRIVATE (int)
CURLOPT_FTPSSLAUTH (int)
CURLOPT_PORT (int)
CURLOPT_FILE (int)
CURLOPT_INFILE (int)
CURLOPT_INFILESIZE (int)
CURLOPT_ISSUERCERT_BLOB (int)
来自内存 blob 的颁发者 SSL 证书。 自 PHP 8.1.0 和 cURL 7.71.0 开始可用。
CURLOPT_URL (int)
CURLOPT_PROXY (int)
CURLOPT_PROXY_ISSUERCERT (int)
代理颁发者 SSL 证书文件名。 自 PHP 8.1.0 和 cURL 7.71.0 开始可用。
CURLOPT_PROXY_ISSUERCERT_BLOB (int)
来自内存 blob 的代理颁发者 SSL 证书。 自 PHP 8.1.0 和 cURL 7.71.0 开始可用。
CURLOPT_PROXY_SSLCERT_BLOB (int)
来自内存 blob 的 SSL 代理客户端证书。 自 PHP 8.1.0 和 cURL 7.71.0 开始可用。
CURLOPT_PROXY_SSLKEY_BLOB (int)
来自内存 blob 的代理证书的私钥。 自 PHP 8.1.0 和 cURL 7.71.0 开始可用。
CURLOPT_VERBOSE (int)
CURLOPT_ALTSVC (int)
自 PHP 8.2.0 和 cURL 7.64.1 起可用。
CURLOPT_ALTSVC_CTRL (int)
自 PHP 8.2.0 和 cURL 7.64.1 起可用。
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 起可用。
CURLOPT_HEADER (int)
CURLOPT_HTTPHEADER (int)
CURLOPT_NOPROGRESS (int)
CURLOPT_NOBODY (int)
CURLOPT_FAILONERROR (int)
CURLOPT_UPLOAD (int)
CURLOPT_UPLOAD_BUFFERSIZE (int)
自 PHP 8.2.0 和 cURL 7.62.0 起可用
CURLOPT_POST (int)
CURLOPT_FTPLISTONLY (int)
CURLOPT_FTPAPPEND (int)
CURLOPT_FTP_CREATE_MISSING_DIRS (int)
CURLOPT_NETRC (int)
CURLOPT_FOLLOWLOCATION (int)
当启用 open_basedir 时,此常量不可用。
CURLOPT_FTPASCII (int)
CURLOPT_PUT (int)
CURLOPT_MIME_OPTIONS (int)
自 PHP 8.3.0 和 cURL 7.81.0 起可用
CURLOPT_MUTE (int)
自 cURL 7.15.5 起删除;请改用 CURLOPT_RETURNTRANSFER
CURLOPT_USERPWD (int)
CURLOPT_PROXYUSERPWD (int)
CURLOPT_RANGE (int)
CURLOPT_TIMEOUT (int)
CURLOPT_TIMEOUT_MS (int)
CURLOPT_TCP_NODELAY (int)
CURLOPT_POSTFIELDS (int)
CURLOPT_PROGRESSFUNCTION (int)
CURLOPT_REFERER (int)
CURLOPT_USERAGENT (int)
CURLOPT_FTPPORT (int)
CURLOPT_FTP_USE_EPSV (int)
CURLOPT_LOW_SPEED_LIMIT (int)
CURLOPT_LOW_SPEED_TIME (int)
CURLOPT_RESUME_FROM (int)
CURLOPT_COOKIELIST (int)
自 cURL 7.14.1 起可用
CURLOPT_SSLCERT (int)
CURLOPT_SSLCERT_BLOB (int)
来自内存 blob 的 SSL 客户端证书。 自 PHP 8.1.0 和 cURL 7.71.0 起可用。
CURLOPT_SSLCERTPASSWD (int)
CURLOPT_SSLKEY_BLOB (int)
来自内存 blob 的客户端证书的私钥。 自 PHP 8.1.0 和 cURL 7.71.0 起可用。
CURLOPT_WRITEHEADER (int)
CURLOPT_WS_OPTIONS (int)
自 PHP 8.3.0 和 cURL 7.86.0 起可用
CURLOPT_SSL_VERIFYHOST (int)
CURLOPT_COOKIEFILE (int)
CURLOPT_SSLVERSION (int)
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURL_SSLVERSION_TLSv1_3 (int)
CURLOPT_TIMECONDITION (int)
CURLOPT_TIMEVALUE (int)
CURLOPT_CUSTOMREQUEST (int)
CURLOPT_STDERR (int)
CURLOPT_TRANSFERTEXT (int)
CURLOPT_RETURNTRANSFER (int)
CURLOPT_QUICK_EXIT (int)
自 PHP 8.3.0 和 cURL 7.87.0 起可用
CURLOPT_QUOTE (int)
CURLOPT_POSTQUOTE (int)
CURLOPT_INTERFACE (int)
CURLOPT_KRB4LEVEL (int)
CURLOPT_HTTPPROXYTUNNEL (int)
CURLOPT_FILETIME (int)
CURLOPT_WRITEFUNCTION (int)
CURLOPT_READFUNCTION (int)
CURLOPT_PASSWDFUNCTION (int)
自 PHP 7.3.0 起移除。
CURLOPT_HEADERFUNCTION (int)
CURLOPT_MAXAGE_CONN (int)
自 PHP 8.2.0 和 cURL 7.65.0 起可用
CURLOPT_MAXFILESIZE_LARGE (int)
自 PHP 8.2.0 和 cURL 7.11.0 起可用
CURLOPT_MAXLIFETIME_CONN (int)
自 PHP 8.2.0 和 cURL 7.80.0 起可用
CURLOPT_MAXREDIRS (int)
CURLOPT_MAXCONNECTS (int)
CURLOPT_FRESH_CONNECT (int)
CURLOPT_FORBID_REUSE (int)
CURLOPT_RANDOM_FILE (int)
CURLOPT_EGDSOCKET (int)
CURLOPT_CONNECTTIMEOUT (int)
CURLOPT_CONNECTTIMEOUT_MS (int)
CURLOPT_SSL_VERIFYPEER (int)
CURLOPT_CA_CACHE_TIMEOUT (int)
自 PHP 8.3.0 和 cURL 7.87.0 起可用
CURLOPT_CAINFO (int)
CURLOPT_CAINFO_BLOB (int)
自 PHP 8.2.0 和 cURL 7.77.0 起可用
CURLOPT_CAPATH (int)
CURLOPT_COOKIEJAR (int)
CURLOPT_SSL_CIPHER_LIST (int)
CURLOPT_SSL_EC_CURVES (int)
自 PHP 8.2.0 和 cURL 7.73.0 起可用
CURLOPT_BINARYTRANSFER (int)
CURLOPT_NOSIGNAL (int)
CURLOPT_PROXYTYPE (int)
自 cURL 7.10 起可用。
CURLOPT_BUFFERSIZE (int)
CURLOPT_HTTPGET (int)
CURLOPT_HTTP_VERSION (int)
CURLOPT_HSTS (int)
自 PHP 8.2.0 和 cURL 7.74.0 起可用
CURLOPT_HSTS_CTRL (int)
自 PHP 8.2.0 和 cURL 7.74.0 起可用
CURLHSTS_ENABLE (int)
自 PHP 8.2.0 和 cURL 7.74.0 起可用
CURLHSTS_READONLYFILE (int)
自 PHP 8.2.0 和 cURL 7.74.0 起可用
CURLOPT_SSLKEY (int)
CURLOPT_SSLKEYTYPE (int)
CURLOPT_SSLKEYPASSWD (int)
CURLOPT_SSLENGINE (int)
CURLOPT_SSLENGINE_DEFAULT (int)
CURLOPT_SSLCERTTYPE (int)
CURLOPT_CRLF (int)
CURLOPT_ENCODING (int)
CURLOPT_PROXYPORT (int)
CURLOPT_UNRESTRICTED_AUTH (int)
CURLOPT_FTP_USE_EPRT (int)
CURLOPT_HTTP200ALIASES (int)
CURLOPT_HTTPAUTH (int)
CURLOPT_AWS_SIGV4 (int)
自 PHP 8.2.0 和 cURL 7.75.0 起可用
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
自 PHP 7.0.7 和 cURL 7.38.0 起可用。
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
自 PHP 7.0.7 和 cURL 7.22.0 起可用
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int)
自 PHP 8.2.0 和 cURL 7.75.0 起可用。
CURLOPT_PROXYAUTH (int)
CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)
自 PHP 8.2.0 和 cURL 7.69.0 起可用
CURLOPT_UPKEEP_INTERVAL_MS (int)
自 PHP 8.2.0 和 cURL 7.62.0 起可用
CURLOPT_MAX_RECV_SPEED_LARGE (int)
自 cURL 7.15.5 起可用
CURLOPT_MAX_SEND_SPEED_LARGE (int)
自 cURL 7.15.5 起可用
CURLOPT_HEADEROPT (int)
自 PHP 7.0.7 和 cURL 7.37.0 起可用
CURLOPT_PROXYHEADER (int)
自 PHP 7.0.7 和 cURL 7.37.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_DIFFER (int)
自 PHP 8.2.0 和 cURL 7.73.0 起可用
CURLPX_IDENTD (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 起可用
CURL_PUSH_OK (int)
自 PHP 7.1.0 和 cURL 7.44.0 起可用
CURL_PUSH_DENY (int)
自 PHP 7.1.0 和 cURL 7.44.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_TIMECOND_NONE (int)
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
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)
支持 协商(Negotiate)身份验证。 自 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_IDN (int)
国际化域名支持。 自 PHP 7.3.0 和 cURL 7.12.0 起可用
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_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_HTTP2 (int)
内置 HTTP2 支持。 自 cURL 7.33.0 起可用
CURL_VERSION_HTTP3 (int)
自 PHP 8.2.0 和 cURL 7.66.0 起可用
CURL_VERSION_LARGEFILE (int)
支持大于 2GB 的文件。 自 cURL 7.33.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_SSPI (int)
基于 Windows SSPI 构建。 自 PHP 7.3.0 和 cURL 7.13.2 起可用
CURL_VERSION_SSL (int)
存在 SSL 选项。
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_VERSION_LIBZ (int)
存在 libz 功能。
CURLVERSION_NOW (int)
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
自 cURL 7.10 起可用。
CURLPROXY_HTTP_1_0 (int)
自 PHP 7.0.7 和 cURL 7.19.3 起可用
CURLPROXY_SOCKS4 (int)
自 cURL 7.10 起可用。
CURLPROXY_SOCKS5 (int)
自 cURL 7.10 起可用。
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_IGNORED (int)
CURL_NETRC_REQUIRED (int)
CURL_HTTP_VERSION_NONE (int)
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_2_0 (int)
自 cURL 7.33.0 起可用
CURL_HTTP_VERSION_2TLS (int)
自 PHP 7.0.7 和 cURL 7.47.0 起可用
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
自 PHP 7.0.7 和 cURL 7.49.0 起可用
CURLM_CALL_MULTI_PERFORM (int)
CURLM_OK (int)
CURLM_BAD_HANDLE (int)
CURLM_BAD_EASY_HANDLE (int)
CURLM_OUT_OF_MEMORY (int)
CURLM_INTERNAL_ERROR (int)
CURLMSG_DONE (int)
CURLOPT_KEYPASSWD (int)
CURLOPT_SSH_AUTH_TYPES (int)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (int)
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (int)
自 PHP 8.2.0 和 cURL 7.80.0 起可用
CURLOPT_SSH_HOSTKEYFUNCTION (int)
自 PHP 8.3.0 和 cURL 7.84.0 起可用
CURLOPT_SSH_PRIVATE_KEYFILE (int)
CURLOPT_SSH_PUBLIC_KEYFILE (int)
CURLOPT_SSL_OPTIONS (int)
自 cURL 7.25.0 起可用
CURLSSLOPT_ALLOW_BEAST (int)
自 cURL 7.25.0 起可用
CURLSSLOPT_NO_REVOKE (int)
自 PHP 7.0.7 和 cURL 7.44.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_REVOKE_BEST_EFFORT (int)
自 PHP 8.2.0 和 cURL 7.70.0 起可用
CURLOPT_USERNAME (int)
自 cURL 7.19.1 起可用
CURLOPT_SASL_AUTHZID (int)
自 PHP 8.2.0 和 cURL 7.66.0 起可用
CURLOPT_SASL_IR (int)
自 PHP 7.0.7 和 cURL 7.31.0 起可用
CURLOPT_DNS_INTERFACE (int)
自 PHP 7.0.7 和 cURL 7.33.0 起可用
CURLOPT_DNS_LOCAL_IP4 (int)
自 PHP 7.0.7 和 cURL 7.33.0 起可用
CURLOPT_DNS_LOCAL_IP6 (int)
自 PHP 7.0.7 和 cURL 7.33.0 起可用
CURLOPT_XOAUTH2_BEARER (int)
自 PHP 7.0.7 和 cURL 7.33.0 起可用
CURLOPT_LOGIN_OPTIONS (int)
自 PHP 7.0.7 和 cURL 7.34.0 起可用
CURLOPT_EXPECT_100_TIMEOUT_MS (int)
自 PHP 7.0.7 和 cURL 7.36.0 起可用
CURLOPT_SSL_ENABLE_ALPN (int)
自 PHP 7.0.7 和 cURL 7.36.0 起可用
CURLOPT_SSL_ENABLE_NPN (int)
自 PHP 7.0.7 和 cURL 7.36.0 起可用
CURLOPT_PINNEDPUBLICKEY (int)
自 PHP 7.0.7 和 cURL 7.39.0 起可用
CURLOPT_UNIX_SOCKET_PATH (int)
自 PHP 7.0.7 和 cURL 7.40.0 起可用
CURLOPT_SSL_VERIFYSTATUS (int)
自 PHP 7.0.7 和 cURL 7.41.0 起可用
CURLOPT_PATH_AS_IS (int)
自 PHP 7.0.7 和 cURL 7.42.0 起可用
CURLOPT_SSL_FALSESTART (int)
自 PHP 7.0.7 和 cURL 7.42.0 起可用
CURLOPT_PIPEWAIT (int)
自 PHP 7.0.7 和 cURL 7.43.0 起可用
CURLOPT_PROTOCOLS_STR (int)
自 PHP 8.3.0 和 cURL 7.85.0 起可用
CURLOPT_PROXY_SERVICE_NAME (int)
自 PHP 7.0.7 和 cURL 7.43.0 起可用
CURLOPT_SERVICE_NAME (int)
自 PHP 7.0.7 和 cURL 7.43.0 起可用
CURLOPT_DEFAULT_PROTOCOL (int)
自 PHP 7.0.7 和 cURL 7.45.0 起可用
CURLOPT_STREAM_WEIGHT (int)
自 PHP 7.0.7 和 cURL 7.46.0 起可用
CURLOPT_TFTP_NO_OPTIONS (int)
自 PHP 7.0.7 和 cURL 7.48.0 起可用
CURLOPT_CONNECT_TO (int)
自 PHP 7.0.7 和 cURL 7.49.0 起可用
CURLOPT_TCP_FASTOPEN (int)
自 PHP 7.0.7 和 cURL 7.49.0 起可用
CURLOPT_TCP_KEEPALIVE (int)
自 cURL 7.25.0 起可用
CURLOPT_TCP_KEEPIDLE (int)
自 cURL 7.25.0 起可用
CURLOPT_TCP_KEEPINTVL (int)
自 cURL 7.25.0 起可用
CURLMOPT_PIPELINING (int)
自 cURL 7.16.0 起可用。
CURLMOPT_MAXCONNECTS (int)
自 cURL 7.16.3 起可用。
CURLMOPT_MAX_CONCURRENT_STREAMS (int)
自 PHP 8.2.0 和 cURL 7.67.0 起可用
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_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_PUSHFUNCTION (int)
自 PHP 7.1.0 和 cURL 7.44.0 起可用
CURLSSH_AUTH_AGENT (int)
自 PHP 7.0.7 和 cURL 7.28.0 起可用
CURLSSH_AUTH_ANY (int)
CURLSSH_AUTH_DEFAULT (int)
CURLSSH_AUTH_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
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 起可用。
CURLPIPE_NOTHING (int)
自 cURL 7.43.0 起可用。
CURLPIPE_HTTP1 (int)
自 cURL 7.43.0 起可用。
CURLPIPE_MULTIPLEX (int)
自 cURL 7.43.0 起可用。
CURLPROXY_SOCKS4A (int)
自 cURL 7.18.0 起可用。
CURLPROXY_SOCKS5_HOSTNAME (int)
自 cURL 7.18.0 起可用。
CURLHEADER_SEPARATE (int)
自 PHP 7.0.7 和 cURL 7.37.0 起可用.
CURLHEADER_UNIFIED (int)
自 PHP 7.0.7 和 cURL 7.37.0 起可用.
CURLPROTO_SMB (int)
自 PHP 7.0.7 和 cURL 7.40.0 起可用.
CURLPROTO_SMBS (int)
自 PHP 7.0.7 和 cURL 7.40.0 起可用.
CURLPROTO_MQTT (int)
自 PHP 8.2.0 和 cURL 7.71.0 起可用
CURLOPT_REDIR_PROTOCOLS_STR (int)
自 PHP 8.3.0 和 cURL 7.85.0 起可用.
CURLOPT_REQUEST_TARGET (int)
自 PHP 7.3.0 和 cURL 7.55.0 起可用。
CURLAUTH_GSSAPI (int)
自 PHP 7.3.0 和 cURL 7.54.1 起可用
CURL_MAX_READ_SIZE (int)
自 PHP 7.3.0 和 cURL 7.53.0 起可用
CURLOPT_ABSTRACT_UNIX_SOCKET (int)
自 PHP 7.3.0 和 cURL 7.53.0 起可用
CURLOPT_KEEP_SENDING_ON_ERROR (int)
自 PHP 7.3.0 和 cURL 7.51.0 起可用
CURLOPT_PRE_PROXY (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_CAINFO (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_CAINFO_BLOB (int)
自 PHP 8.2.0 和 cURL 7.77.0 起可用
CURLOPT_PROXY_CAPATH (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_CRLFILE (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_KEYPASSWD (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_PINNEDPUBLICKEY (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSLCERT (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSLCERTTYPE (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSL_CIPHER_LIST (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSLKEY (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSLKEYTYPE (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSL_OPTIONS (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSL_VERIFYHOST (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSL_VERIFYPEER (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_SSLVERSION (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_TLSAUTH_PASSWORD (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_TLSAUTH_TYPE (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_PROXY_TLSAUTH_USERNAME (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLOPT_SOCKS5_AUTH (int)
自 PHP 7.3.0 和 cURL 7.55.0 起可用
CURLOPT_SUPPRESS_CONNECT_HEADERS (int)
自 PHP 7.3.0 和 cURL 7.54.0 起可用
CURLPROXY_HTTPS (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
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_TLSv1_3 (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURL_VERSION_HTTPS_PROXY (int)
自 PHP 7.3.0 和 cURL 7.52.0 起可用
CURLAUTH_BEARER (int)
自 PHP 7.3.0 和 cURL 7.61.0 起可用。
CURL_LOCK_DATA_CONNECT (int)
自 PHP 7.3.0 和 cURL 7.10.0 起可用
CURL_LOCK_DATA_PSL (int)
自 PHP 7.3.0 和 cURL 7.61.0 起可用
CURLOPT_DISALLOW_USERNAME_IN_URL (int)
自 PHP 7.3.0 和 cURL 7.61.0 起可用
CURLOPT_DNS_SHUFFLE_ADDRESSES (int)
自 PHP 7.3.0 和 cURL 7.60.0 起可用
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)
自 PHP 7.3.0 和 cURL 7.59.0 起可用
CURLOPT_HAPROXYPROTOCOL (int)
自 PHP 7.3.0 和 cURL 7.60.0 起可用
CURLOPT_PROXY_TLS13_CIPHERS (int)
自 PHP 7.3.0 和 cURL 7.61.0 起可用
CURLOPT_SSH_COMPRESSION (int)
自 PHP 7.3.0 和 cURL 7.56.0 起可用
CURLOPT_TIMEVALUE_LARGE (int)
自 PHP 7.3.0 和 cURL 7.59.0 起可用
CURLOPT_TLS13_CIPHERS (int)
自 PHP 7.3.0 和 cURL 7.61.0 起可用
CURLSSH_AUTH_GSSAPI (int)
自 PHP 7.3.0 和 cURL 7.58.0 起可用
CURLOPT_HTTP09_ALLOWED (int)
分别从 PHP 7.3.15 和 7.4.3 以及 cURL 7.64.0 开始可用
CURLMIMEOPT_FORMESCAPE (int)
自 PHP 8.3.0 和 cURL 7.81.0 起可用
CURLWS_RAW_MODE (int)
自 PHP 8.3.0 和 cURL 7.86.0 起可用
CURLKHMATCH_OK (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_LAST (int)
自 PHP 8.3.0 和 cURL 7.19.6 起可用
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) 默认内置 CA 证书位置。自 PHP 8.3.0 和 cURL 7.84.0 起可用
CURLINFO_CAPATH (int) 默认内置 CA 证书路径。自 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。该值从 "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: header。
CURLINFO_COOKIELIST (int) 所以已知的 cookie
CURLINFO_EFFECTIVE_URL (int) 最后有效的 URL
CURLINFO_FILETIME (int) 启用 CURLOPT_FILETIME 时,检索文档的远程时间;如果返回 -1,则表示文档的时间未知。
CURLINFO_FILETIME_T (int) 检索文档的远程时间 (Unix 时间戳),它是 CURLINFO_FILETIME 的替代方案,允许 32 位长整型的系统提取超出 32 位时间戳范围的日期。自 PHP 7.3.0 和 cURL 7.59.0 起可用
CURLINFO_FTP_ENTRY_PATH (int) FTP 服务器中的条目路径
CURLINFO_HEADER_OUT (int) 已发送的请求字符串。如果要生效,需要调用 curl_setopt() 函数将 CURLINFO_HEADER_OUT 选项添加到句柄中
CURLINFO_HEADER_SIZE (int) 所有检索到的 header 总大小
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_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 错误时,该代码会提供更多信息。返回值将是 CURLPX_* 值之一。如果没有可用的响应代码,则错误代码将是 CURLPX_OK。自 PHP 8.2.0 和 cURL 7.73.0 起可用
CURLINFO_PROXY_SSL_VERIFYRESULT (int) 请求(使用 CURLOPT_PROXY_SSL_VERIFYPEER 选项)时,证书的验证结果。仅 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) With the CURLOPT_FOLLOWLOCATION option disabled: redirect URL found in the last transaction, that should be requested manually next. With the CURLOPT_FOLLOWLOCATION option enabled: this is empty. The redirect URL in this case is available in CURLINFO_EFFECTIVE_URL
CURLINFO_REFERER (int) The referrer header. Available as of PHP 8.2.0 and cURL 7.76.0
CURLINFO_REQUEST_SIZE (int) Total size of issued requests, currently only for HTTP requests
CURLINFO_RESPONSE_CODE (int) The last response code. Available as of cURL 7.10.8
CURLINFO_RETRY_AFTER (int) The information from the Retry-After: header, or zero if there was no valid header. Available as of PHP 8.2.0 and cURL 7.66.0
CURLINFO_RTSP_CLIENT_CSEQ (int) Next RTSP client CSeq
CURLINFO_RTSP_CSEQ_RECV (int) Recently received CSeq
CURLINFO_RTSP_SERVER_CSEQ (int) Next RTSP server CSeq
CURLINFO_RTSP_SESSION_ID (int) RTSP session ID
CURLINFO_SCHEME (int) The URL scheme used for the most recent connection. Available as of PHP 7.3.0 and cURL 7.52.0
CURLINFO_SIZE_DOWNLOAD (int) Total number of bytes downloaded
CURLINFO_SIZE_DOWNLOAD_T (int) Total number of bytes that were downloaded. The number is only for the latest transfer and will be reset again for each new transfer. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SIZE_UPLOAD (int) Total number of bytes uploaded
CURLINFO_SIZE_UPLOAD_T (int) Total number of bytes that were uploaded. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_DOWNLOAD (int) Average download speed
CURLINFO_SPEED_DOWNLOAD_T (int) The average download speed in bytes/second that curl measured for the complete download. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_UPLOAD (int) Average upload speed
CURLINFO_SPEED_UPLOAD_T (int) The average upload speed in bytes/second that curl measured for the complete upload. Available as of PHP 7.3.0 and cURL 7.50.0
CURLINFO_SSL_ENGINES (int) OpenSSL crypto-engines supported
CURLINFO_SSL_VERIFYRESULT (int) Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
CURLINFO_STARTTRANSFER_TIME (int) Time in seconds until the first byte is about to be transferred
CURLINFO_STARTTRANSFER_TIME_T (int) Time, in microseconds, it took from the start until the first byte is received. Available as of PHP 7.3.0 and cURL 7.61.0
CURLINFO_TOTAL_TIME (int) Total transaction time in seconds for last transfer
CURLINFO_TOTAL_TIME_T (int) Total time in microseconds for the previous transfer, including name resolving, TCP connect etc. Available as of PHP 7.3.0 and cURL 7.61.0
cURL 错误常量
常量 描述
CURLE_ABORTED_BY_CALLBACK (int) 回调已中止。回调向 libcurl 返回“abort”。
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) 初始化代码失败。这可能是内部错误或程序,或者是资源问题,导致在初始化时无法完成一些基本操作。
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-line 作为对 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) Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
CURLE_HTTP_NOT_FOUND (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_HTTP_POST_ERROR (int) This is an odd error that mainly occurs due to internal confusion.
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_RETURNED_ERROR (int) This is returned if CURLOPT_FAILONERROR is set true and the HTTP server returns an error code that is greater than or equal to 400.
CURLE_LDAP_CANNOT_BIND (int) LDAP cannot bind. LDAP bind operation failed.
CURLE_LDAP_INVALID_URL (int)
CURLE_LDAP_SEARCH_FAILED (int) LDAP search failed.
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_MALFORMAT_USER (int)
CURLE_OBSOLETE (int)
CURLE_OK (int) All fine. Proceed as usual.
CURLE_OPERATION_TIMEDOUT (int) Operation timeout. The specified time-out period was reached according to the conditions.
CURLE_OPERATION_TIMEOUTED (int)
CURLE_OUT_OF_MEMORY (int) A memory allocation request failed.
CURLE_PARTIAL_FILE (int) A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that does not match the previously given size.
CURLE_PROXY (int) Proxy handshake error. CURLINFO_PROXY_ERROR provides extra details on the specific problem. Available as of PHP 8.2.0 and cURL 7.73.0
CURLE_READ_ERROR (int) There was a problem reading a local file or an error returned by the read callback.
CURLE_RECV_ERROR (int) Failure with receiving network data.
CURLE_SEND_ERROR (int) Failed sending network data.
CURLE_SHARE_IN_USE (int)
CURLE_SSH (int) An unspecified error occurred during the SSH session. Available as of cURL 7.16.1.
CURLE_SSL_CACERT (int)
CURLE_SSL_CACERT_BADFILE (int) Problem with reading the SSL CA cert.
CURLE_SSL_CERTPROBLEM (int) Problem with the local client certificate.
CURLE_SSL_CIPHER (int) Could not use specified cipher.
CURLE_SSL_CONNECT_ERROR (int) A problem occurred somewhere in the SSL/TLS handshake. Reading the message in the error buffer provides more details on the problem. Could be certificates (file formats, paths, permissions), passwords, and others.
CURLE_SSL_ENGINE_NOTFOUND (int) The specified crypto engine was not found.
CURLE_SSL_ENGINE_SETFAILED (int) Failed setting the selected SSL crypto engine as default.
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_SSL_PINNEDPUBKEYNOTMATCH (int) Failed to match the pinned key specified with CURLOPT_PINNEDPUBLICKEY.
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_TOO_MANY_REDIRECTS (int) Too many redirects. When following redirects, libcurl hit the maximum amount. The limit can be set with CURLOPT_MAXREDIRS.
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_UNSUPPORTED_PROTOCOL (int) The URL passed to libcurl used a protocol that libcurl does not support. The issue might be a compile-time option that was not used, a misspelled protocol string or just a protocol libcurl has no code for.
CURLE_URL_MALFORMAT (int) The URL was not properly formatted.
CURLE_URL_MALFORMAT_USER (int)
CURLE_WEIRD_SERVER_REPLY (int) The server sent data libcurl could not parse. This error code was known as CURLE_FTP_WEIRD_SERVER_REPLY before cURL 7.51.0. Available as of PHP 7.3.0 and cURL 7.51.0
CURLE_WRITE_ERROR (int) An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.
add a note

User Contributed Notes 5 notes

up
29
nimasdj [AT] yahoo [DOT] com
8 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
9
uramihsayibok, gmail, com
8 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
17
s dot coletta at unidata dot it
14 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
7
Ron
16 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
up
1
jrschlosser
6 years ago
In PHP version 7.1.11 there is also constants for HTTP/2 :
CURL_VERSION_HTTP2 = 65536 (1 << 16)
CURL_HTTP_VERSION_2_0 = 3

I don't know the first version of PHP that defines it.
To Top