预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 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) 禁用 CURLOPT_FOLLOWLOCATION 选项:在上一次事务中找到的重定向 URL,接下来应手动请求。启用 CURLOPT_FOLLOWLOCATION 选项:此为空。此情况下的重定向 URL 可在 CURLINFO_EFFECTIVE_URL 中找到。
CURLINFO_REFERER (int) referrer header。自 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: header 中的信息,如果没有有效 header 则为零。自 PHP 8.2.0 和 cURL 7.66.0 起可用
CURLINFO_RTSP_CLIENT_CSEQ (int) 下一个 RTSP 客户端 CSeq
CURLINFO_RTSP_CSEQ_RECV (int) 最近检索的 CSeq
CURLINFO_RTSP_SERVER_CSEQ (int) 下一个 RTSP 服务器 CSeq
CURLINFO_RTSP_SESSION_ID (int) RTSP session ID
CURLINFO_SCHEME (int) 用于最近连接的 URL scheme。自 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) Average upload speed
CURLINFO_SPEED_UPLOAD_T (int) curl 测量的完整上传过程的平均上传速度(以字节/秒为单位)。自 PHP 7.3.0 和 cURL 7.50.0 开始可用
CURLINFO_SSL_ENGINES (int) 支持 OpenSSL 加密引擎
CURLINFO_SSL_VERIFYRESULT (int) 通过设置 CURLOPT_SSL_VERIFYPEER 请求 SSL 认证验证的结果
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 错误常量
常量 描述
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) 服务器没有返回任何内容,在这种情况下,没有得到任何内容视为错误。
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) 读取本地文件时出现问题,或者读取回调返回错误。
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) 无法使用指定的密码。
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) 传递给 libcurl 的 URL 使用了 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 返回错误。
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
0
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