Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

Descriptions and uses for these constants are described within the curl_setopt(), curl_multi_setopt() and curl_getinfo() documentation.

CURLOPT_AUTOREFERER (int)
CURLOPT_COOKIESESSION (int)
CURLOPT_DOH_URL (int)
Provides the DNS-over-HTTPS URL. Available as of PHP 8.1.0 and cURL 7.62.0.
CURLOPT_DOH_SSL_VERIFYHOST (int)
Verify the DNS-over-HTTPS server's SSL certificate name fields against the host name. Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DOH_SSL_VERIFYPEER (int)
Verify the authenticity of the DNS-over-HTTPS server's SSL certificate. Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DOH_SSL_VERIFYSTATUS (int)
Tell cURL to verify the status of the DNS-over-HTTPS server certificate using the "Certificate Status Request" TLS extension (OCSP stapling). Available as of PHP 8.2.0 and cURL 7.76.0.
CURLOPT_DNS_USE_GLOBAL_CACHE (int)
CURLOPT_DNS_CACHE_TIMEOUT (int)
CURLOPT_FTP_SSL (int)
CURLFTP_CREATE_DIR (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPMETHOD_DEFAULT (int)
Available as of PHP 8.2.0 and 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)
Issuer SSL certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_URL (int)
CURLOPT_PROXY (int)
CURLOPT_PROXY_ISSUERCERT (int)
Proxy issuer SSL certificate filename. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_ISSUERCERT_BLOB (int)
Proxy issuer SSL certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_SSLCERT_BLOB (int)
SSL proxy client certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_PROXY_SSLKEY_BLOB (int)
Private key for proxy cert from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_VERBOSE (int)
CURLOPT_ALTSVC (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLOPT_ALTSVC_CTRL (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H1 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H2 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_H3 (int)
Available as of PHP 8.2.0 and cURL 7.64.1.
CURLALTSVC_READONLYFILE (int)
Available as of PHP 8.2.0 and 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)
Available as of PHP 8.2.0 and 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)
This constant is not available when open_basedir is enabled.
CURLOPT_FTPASCII (int)
CURLOPT_PUT (int)
CURLOPT_MIME_OPTIONS (int)
Available as of PHP 8.3.0 and cURL 7.81.0
CURLOPT_MUTE (int)
Removed as of cURL 7.15.5; use CURLOPT_RETURNTRANSFER instead.
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)
Available since cURL 7.14.1
CURLOPT_SSLCERT (int)
CURLOPT_SSLCERT_BLOB (int)
SSL client certificate from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_SSLCERTPASSWD (int)
CURLOPT_SSLKEY_BLOB (int)
Private key for client cert from memory blob. Available as of PHP 8.1.0 and cURL 7.71.0.
CURLOPT_WRITEHEADER (int)
CURLOPT_WS_OPTIONS (int)
Available as of PHP 8.3.0 and 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)
Available as of PHP 8.3.0 and 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)
Removed as of PHP 7.3.0.
CURLOPT_HEADERFUNCTION (int)
CURLOPT_MAXAGE_CONN (int)
Available as of PHP 8.2.0 and cURL 7.65.0
CURLOPT_MAXFILESIZE_LARGE (int)
Available as of PHP 8.2.0 and cURL 7.11.0
CURLOPT_MAXLIFETIME_CONN (int)
Available as of PHP 8.2.0 and 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)
Available as of PHP 8.3.0 and cURL 7.87.0
CURLOPT_CAINFO (int)
CURLOPT_CAINFO_BLOB (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLOPT_CAPATH (int)
CURLOPT_COOKIEJAR (int)
CURLOPT_SSL_CIPHER_LIST (int)
CURLOPT_SSL_EC_CURVES (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLOPT_BINARYTRANSFER (int)
CURLOPT_NOSIGNAL (int)
CURLOPT_PROXYTYPE (int)
Available as of cURL 7.10.
CURLOPT_BUFFERSIZE (int)
CURLOPT_HTTPGET (int)
CURLOPT_HTTP_VERSION (int)
CURLOPT_HSTS (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLOPT_HSTS_CTRL (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLHSTS_ENABLE (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURLHSTS_READONLYFILE (int)
Available as of PHP 8.2.0 and 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)
Available as of PHP 8.2.0 and cURL 7.75.0
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
Available as of PHP 7.0.7 and cURL 7.38.0.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
Available as of PHP 7.0.7 and cURL 7.22.0
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int)
Available as of PHP 8.2.0 and cURL 7.75.0.
CURLOPT_PROXYAUTH (int)
CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)
Available as of PHP 8.2.0 and cURL 7.69.0
CURLOPT_UPKEEP_INTERVAL_MS (int)
Available as of PHP 8.2.0 and cURL 7.62.0
CURLOPT_MAX_RECV_SPEED_LARGE (int)
Available as of cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (int)
Available as of cURL 7.15.5
CURLOPT_HEADEROPT (int)
Available as of PHP 7.0.7 and cURL 7.37.0
CURLOPT_PROXYHEADER (int)
Available as of PHP 7.0.7 and cURL 7.37.0
CURLINFO_PRIVATE (int)
CURLINFO_EFFECTIVE_URL (int)
CURLINFO_HTTP_CODE (int)
As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_CODE
CURLINFO_PROXY_ERROR (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_BAD_ADDRESS_TYPE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_BAD_VERSION (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_CLOSED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI_PERMSG (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_GSSAPI_PROTECTION (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_IDENTD_DIFFER (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_IDENTD (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_HOSTNAME (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_PASSWD (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_LONG_USER (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_NO_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_OK (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_ADDRESS (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_CONNECT (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RECV_REQACK (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_COMMAND_NOT_SUPPORTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_CONNECTION_REFUSED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_GENERAL_SERVER_FAILURE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_HOST_UNREACHABLE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_NETWORK_UNREACHABLE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_NOT_ALLOWED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_TTL_EXPIRED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REPLY_UNASSIGNED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_REQUEST_FAILED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_RESOLVE_HOST (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_AUTH (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_CONNECT (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_SEND_REQUEST (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_UNKNOWN_FAIL (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_UNKNOWN_MODE (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLPX_USER_REJECTED (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLINFO_REFERER (int)
Available as of PHP 8.2.0 and cURL 7.76.0
CURLINFO_RESPONSE_CODE (int)
Available since cURL 7.10.8
CURLINFO_RETRY_AFTER (int)
Available as of PHP 8.2.0 and cURL 7.66.0
CURLINFO_HEADER_OUT (int)
CURLINFO_HEADER_SIZE (int)
CURLINFO_REQUEST_SIZE (int)
CURLINFO_TOTAL_TIME (int)
CURLINFO_NAMELOOKUP_TIME (int)
CURLINFO_CAINFO (int)
Available as of PHP 8.3.0 and cURL 7.84.0
CURLINFO_CAPATH (int)
Available as of PHP 8.3.0 and cURL 7.84.0
CURLINFO_CONNECT_TIME (int)
CURLINFO_PRETRANSFER_TIME (int)
CURLINFO_SIZE_UPLOAD (int)
CURLINFO_SIZE_DOWNLOAD (int)
CURLINFO_SPEED_DOWNLOAD (int)
CURLINFO_SPEED_UPLOAD (int)
CURLINFO_FILETIME (int)
CURLINFO_SSL_VERIFYRESULT (int)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int)
CURLINFO_CONTENT_LENGTH_UPLOAD (int)
CURLINFO_STARTTRANSFER_TIME (int)
CURLINFO_CONTENT_TYPE (int)
CURLINFO_REDIRECT_TIME (int)
CURLINFO_REDIRECT_COUNT (int)
CURLINFO_REDIRECT_URL (int)
CURLINFO_PRIMARY_IP (int)
CURLINFO_PRIMARY_PORT (int)
CURLINFO_LOCAL_IP (int)
CURLINFO_LOCAL_PORT (int)
CURL_PUSH_OK (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURL_PUSH_DENY (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURL_REDIR_POST_301 (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_302 (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_REDIR_POST_303 (int)
Available since PHP 7.0.7 and cURL 7.25.1
CURL_REDIR_POST_ALL (int)
Available since PHP 7.0.7 and cURL 7.18.2
CURL_TIMECOND_NONE (int)
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
CURL_VERSION_ALTSVC (int)
Available since PHP 7.3.6 and cURL 7.64.1
CURL_VERSION_ASYNCHDNS (int)
Asynchronous DNS resolves. Available since PHP 7.3.0 and cURL 7.10.7
CURL_VERSION_BROTLI (int)
Available since PHP 7.3.0 and cURL 7.57.0
CURL_VERSION_CONV (int)
Character conversions supported. Available since PHP 7.3.0 and cURL 7.15.4
CURL_VERSION_CURLDEBUG (int)
Debug memory tracking supported. Available since PHP 7.3.6 and cURL 7.19.6
CURL_VERSION_DEBUG (int)
Built with debug capabilities. Available since PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_GSASL (int)
Available as of PHP 8.2.0 and cURL 7.76.0
CURL_VERSION_GSSAPI (int)
Built against a GSS-API library. Available since PHP 7.3.0 and cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (int)
Negotiate auth is supported. Available since PHP 7.3.0 and cURL 7.10.6 (deprecated since 7.38.0)
CURL_VERSION_HSTS (int)
Available as of PHP 8.2.0 and cURL 7.74.0
CURL_VERSION_IDN (int)
Internationized Domain Names are supported. Available since PHP 7.3.0 and cURL 7.12.0
CURL_VERSION_MULTI_SSL (int)
Available since PHP 7.3.0 and cURL 7.56.0
CURL_VERSION_NTLM (int)
NTLM auth is supported. Available since PHP 7.3.0 and cURL 7.10.6
CURL_VERSION_NTLM_WB (int)
NTLM delegation to winbind helper is supported. Available since PHP 7.3.0 and cURL 7.22.0
CURL_VERSION_IPV6 (int)
IPv6-enabled.
CURL_VERSION_KERBEROS4 (int)
Kerberos V4 auth is supported.
CURL_VERSION_KERBEROS5 (int)
Kerberos V5 auth is supported. Available since PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_HTTP2 (int)
HTTP2 support built-in. Available since cURL 7.33.0
CURL_VERSION_HTTP3 (int)
Available as of PHP 8.2.0 and cURL 7.66.0
CURL_VERSION_LARGEFILE (int)
Supports files larger than 2GB. Available since cURL 7.33.0
CURL_VERSION_PSL (int)
Mozilla's Public Suffix List, used for cookie domain verification. Available since PHP 7.3.6 and cURL 7.47.0
CURL_VERSION_SPNEGO (int)
SPNEGO auth is supported. Available since PHP 7.3.0 and cURL 7.10.8
CURL_VERSION_SSPI (int)
Built against Windows SSPI. Available since PHP 7.3.0 and cURL 7.13.2
CURL_VERSION_SSL (int)
SSL options are present.
CURL_VERSION_TLSAUTH_SRP (int)
TLS-SRP auth is supported. Available since PHP 7.3.0 and cURL 7.21.4
CURL_VERSION_UNICODE (int)
Available as of PHP 8.2.0 and cURL 7.72.0
CURL_VERSION_UNIX_SOCKETS (int)
Unix domain sockets support. Available since PHP 7.0.7 and cURL 7.40.0
CURL_VERSION_ZSTD (int)
Available as of PHP 8.2.0 and cURL 7.72.0
CURL_VERSION_LIBZ (int)
libz features are present.
CURLVERSION_NOW (int)
CURLE_OK (int)
CURLE_UNSUPPORTED_PROTOCOL (int)
CURLE_FAILED_INIT (int)
CURLE_URL_MALFORMAT (int)
CURLE_URL_MALFORMAT_USER (int)
CURLE_COULDNT_RESOLVE_PROXY (int)
CURLE_COULDNT_RESOLVE_HOST (int)
CURLE_COULDNT_CONNECT (int)
CURLE_FTP_WEIRD_SERVER_REPLY (int)
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_PASS_REPLY (int)
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WEIRD_PASV_REPLY (int)
CURLE_FTP_WEIRD_227_FORMAT (int)
CURLE_FTP_CANT_GET_HOST (int)
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_PARTIAL_FILE (int)
CURLE_PROXY (int)
Available as of PHP 8.2.0 and cURL 7.73.0
CURLE_FTP_COULDNT_RETR_FILE (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FTP_QUOTE_ERROR (int)
CURLE_HTTP_NOT_FOUND (int)
CURLE_WRITE_ERROR (int)
CURLE_MALFORMAT_USER (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_READ_ERROR (int)
CURLE_OUT_OF_MEMORY (int)
CURLE_OPERATION_TIMEOUTED (int)
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_PORT_FAILED (int)
CURLE_FTP_COULDNT_USE_REST (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_POST_ERROR (int)
CURLE_SSL_CONNECT_ERROR (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FILE_COULDNT_READ_FILE (int)
CURLE_LDAP_CANNOT_BIND (int)
CURLE_LDAP_SEARCH_FAILED (int)
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_FUNCTION_NOT_FOUND (int)
CURLE_ABORTED_BY_CALLBACK (int)
CURLE_BAD_FUNCTION_ARGUMENT (int)
CURLE_BAD_CALLING_ORDER (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_TOO_MANY_REDIRECTS (int)
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_OBSOLETE (int)
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_GOT_NOTHING (int)
CURLE_SSL_ENGINE_NOTFOUND (int)
CURLE_SSL_ENGINE_SETFAILED (int)
CURLE_SEND_ERROR (int)
CURLE_RECV_ERROR (int)
CURLE_SHARE_IN_USE (int)
CURLE_SSL_CERTPROBLEM (int)
CURLE_SSL_CIPHER (int)
CURLE_SSL_CACERT (int)
CURLE_BAD_CONTENT_ENCODING (int)
CURLE_LDAP_INVALID_URL (int)
CURLE_FILESIZE_EXCEEDED (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_SSH (int)
Available since cURL 7.16.1.
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
Available since cURL 7.10.
CURLPROXY_HTTP_1_0 (int)
Available since PHP 7.0.7 and cURL 7.19.3
CURLPROXY_SOCKS4 (int)
Available since cURL 7.10.
CURLPROXY_SOCKS5 (int)
Available since 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)
Available since PHP 7.0.7 and cURL 7.43.0
CURL_HTTP_VERSION_2_0 (int)
Available since cURL 7.33.0
CURL_HTTP_VERSION_2TLS (int)
Available since PHP 7.0.7 and cURL 7.47.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
Available since PHP 7.0.7 and 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)
Available as of PHP 8.2.0 and cURL 7.80.0
CURLOPT_SSH_HOSTKEYFUNCTION (int)
Available as of PHP 8.3.0 and cURL 7.84.0
CURLOPT_SSH_PRIVATE_KEYFILE (int)
CURLOPT_SSH_PUBLIC_KEYFILE (int)
CURLOPT_SSL_OPTIONS (int)
Available since cURL 7.25.0
CURLSSLOPT_ALLOW_BEAST (int)
Available since cURL 7.25.0
CURLSSLOPT_NO_REVOKE (int)
Available since PHP 7.0.7 and cURL 7.44.0
CURLSSLOPT_AUTO_CLIENT_CERT (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLSSLOPT_NATIVE_CA (int)
Available as of PHP 8.2.0 and cURL 7.71.0
CURLSSLOPT_NO_PARTIALCHAIN (int)
Available as of PHP 8.2.0 and cURL 7.68.0
CURLSSLOPT_REVOKE_BEST_EFFORT (int)
Available as of PHP 8.2.0 and cURL 7.70.0
CURLOPT_USERNAME (int)
Available since cURL 7.19.1
CURLOPT_SASL_AUTHZID (int)
Available as of PHP 8.2.0 and cURL 7.66.0
CURLOPT_SASL_IR (int)
Available since PHP 7.0.7 and cURL 7.31.0
CURLOPT_DNS_INTERFACE (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP4 (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_DNS_LOCAL_IP6 (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_XOAUTH2_BEARER (int)
Available since PHP 7.0.7 and cURL 7.33.0
CURLOPT_LOGIN_OPTIONS (int)
Available since PHP 7.0.7 and cURL 7.34.0
CURLOPT_EXPECT_100_TIMEOUT_MS (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_ALPN (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_SSL_ENABLE_NPN (int)
Available since PHP 7.0.7 and cURL 7.36.0
CURLOPT_PINNEDPUBLICKEY (int)
Available since PHP 7.0.7 and cURL 7.39.0
CURLOPT_UNIX_SOCKET_PATH (int)
Available since PHP 7.0.7 and cURL 7.40.0
CURLOPT_SSL_VERIFYSTATUS (int)
Available since PHP 7.0.7 and cURL 7.41.0
CURLOPT_PATH_AS_IS (int)
Available since PHP 7.0.7 and cURL 7.42.0
CURLOPT_SSL_FALSESTART (int)
Available since PHP 7.0.7 and cURL 7.42.0
CURLOPT_PIPEWAIT (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_PROTOCOLS_STR (int)
Available as of PHP 8.3.0 and cURL 7.85.0
CURLOPT_PROXY_SERVICE_NAME (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_SERVICE_NAME (int)
Available since PHP 7.0.7 and cURL 7.43.0
CURLOPT_DEFAULT_PROTOCOL (int)
Available since PHP 7.0.7 and cURL 7.45.0
CURLOPT_STREAM_WEIGHT (int)
Available since PHP 7.0.7 and cURL 7.46.0
CURLOPT_TFTP_NO_OPTIONS (int)
Available since PHP 7.0.7 and cURL 7.48.0
CURLOPT_CONNECT_TO (int)
Available since PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_FASTOPEN (int)
Available since PHP 7.0.7 and cURL 7.49.0
CURLOPT_TCP_KEEPALIVE (int)
Available since cURL 7.25.0
CURLOPT_TCP_KEEPIDLE (int)
Available since cURL 7.25.0
CURLOPT_TCP_KEEPINTVL (int)
Available since cURL 7.25.0
CURLMOPT_PIPELINING (int)
Available since cURL 7.16.0.
CURLMOPT_MAXCONNECTS (int)
Available since cURL 7.16.3.
CURLMOPT_MAX_CONCURRENT_STREAMS (int)
Available as of PHP 8.2.0 and cURL 7.67.0.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_HOST_CONNECTIONS (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (int)
Available since PHP 7.0.7 and cURL 7.30.0
CURLMOPT_PUSHFUNCTION (int)
Available since PHP 7.1.0 and cURL 7.44.0
CURLSSH_AUTH_AGENT (int)
Available since PHP 7.0.7 and 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)
Available since cURL 7.18.0.
CURLPAUSE_CONT (int)
Available since cURL 7.18.0.
CURLPAUSE_RECV (int)
Available since cURL 7.18.0.
CURLPAUSE_RECV_CONT (int)
Available since cURL 7.18.0.
CURLPAUSE_SEND (int)
Available since cURL 7.18.0.
CURLPAUSE_SEND_CONT (int)
Available since cURL 7.18.0.
CURLPIPE_NOTHING (int)
Available since cURL 7.43.0.
CURLPIPE_HTTP1 (int)
Available since cURL 7.43.0.
CURLPIPE_MULTIPLEX (int)
Available since cURL 7.43.0.
CURLPROXY_SOCKS4A (int)
Available since cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (int)
Available since cURL 7.18.0.
CURLHEADER_SEPARATE (int)
Available since PHP 7.0.7 and cURL 7.37.0.
CURLHEADER_UNIFIED (int)
Available since PHP 7.0.7 and cURL 7.37.0.
CURLPROTO_SMB (int)
Available since PHP 7.0.7 and cURL 7.40.0.
CURLPROTO_SMBS (int)
Available since PHP 7.0.7 and cURL 7.40.0.
CURLPROTO_MQTT (int)
Available as of PHP 8.2.0 and cURL 7.71.0.
CURLOPT_REDIR_PROTOCOLS_STR (int)
Available as of PHP 8.3.0 and cURL 7.85.0.
CURLOPT_REQUEST_TARGET (int)
Available since PHP 7.3.0 and cURL 7.55.0.
CURLAUTH_GSSAPI (int)
Available since PHP 7.3.0 and cURL 7.54.1
CURLE_WEIRD_SERVER_REPLY (int)
Available since PHP 7.3.0 and cURL 7.51.0
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLINFO_HTTP_VERSION (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_PROTOCOL (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_PROXY_SSL_VERIFYRESULT (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_SCHEME (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLINFO_SIZE_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SIZE_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_DOWNLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURLINFO_SPEED_UPLOAD_T (int)
Available since PHP 7.3.0 and cURL 7.50.0
CURL_MAX_READ_SIZE (int)
Available since PHP 7.3.0 and cURL 7.53.0
CURLOPT_ABSTRACT_UNIX_SOCKET (int)
Available since PHP 7.3.0 and cURL 7.53.0
CURLOPT_KEEP_SENDING_ON_ERROR (int)
Available since PHP 7.3.0 and cURL 7.51.0
CURLOPT_PRE_PROXY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAINFO (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CAINFO_BLOB (int)
Available as of PHP 8.2.0 and cURL 7.77.0
CURLOPT_PROXY_CAPATH (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_CRLFILE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_KEYPASSWD (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_PINNEDPUBLICKEY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERT (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLCERTTYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_CIPHER_LIST (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLKEYTYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_OPTIONS (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYHOST (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSL_VERIFYPEER (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_SSLVERSION (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_PASSWORD (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_TYPE (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_PROXY_TLSAUTH_USERNAME (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLOPT_SOCKS5_AUTH (int)
Available since PHP 7.3.0 and cURL 7.55.0
CURLOPT_SUPPRESS_CONNECT_HEADERS (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURLPROXY_HTTPS (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURL_SSLVERSION_MAX_DEFAULT (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (int)
Available since PHP 7.3.0 and cURL 7.54.0
CURL_SSLVERSION_TLSv1_3 (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURL_VERSION_HTTPS_PROXY (int)
Available since PHP 7.3.0 and cURL 7.52.0
CURLAUTH_BEARER (int)
Available since PHP 7.3.0 and cURL 7.61.0.
CURLINFO_APPCONNECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_CONNECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_FILETIME_T (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLINFO_NAMELOOKUP_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_PRETRANSFER_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_REDIRECT_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_STARTTRANSFER_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLINFO_TOTAL_TIME_T (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURL_LOCK_DATA_CONNECT (int)
Available since PHP 7.3.0 and cURL 7.10.0
CURL_LOCK_DATA_PSL (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_DISALLOW_USERNAME_IN_URL (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_DNS_SHUFFLE_ADDRESSES (int)
Available since PHP 7.3.0 and cURL 7.60.0
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLOPT_HAPROXYPROTOCOL (int)
Available since PHP 7.3.0 and cURL 7.60.0
CURLOPT_PROXY_TLS13_CIPHERS (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLOPT_SSH_COMPRESSION (int)
Available since PHP 7.3.0 and cURL 7.56.0
CURLOPT_TIMEVALUE_LARGE (int)
Available since PHP 7.3.0 and cURL 7.59.0
CURLOPT_TLS13_CIPHERS (int)
Available since PHP 7.3.0 and cURL 7.61.0
CURLSSH_AUTH_GSSAPI (int)
Available since PHP 7.3.0 and cURL 7.58.0
CURLOPT_HTTP09_ALLOWED (int)
Available since PHP 7.3.15 and 7.4.3, respectively, and cURL 7.64.0
CURLMIMEOPT_FORMESCAPE (int)
Available as of PHP 8.3.0 and cURL 7.81.0
CURLWS_RAW_MODE (int)
Available as of PHP 8.3.0 and cURL 7.86.0
CURLKHMATCH_OK (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_MISMATCH (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_MISSING (int)
Available as of PHP 8.3.0 and cURL 7.19.6
CURLKHMATCH_LAST (int)
Available as of PHP 8.3.0 and cURL 7.19.6
add a note add a note

User Contributed Notes 5 notes

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

<?php
$curl_errno
= array(
=> "CURLE_UNSUPPORTED_PROTOCOL",
=> "CURLE_FAILED_INIT",
=> "CURLE_URL_MALFORMAT",
=> "CURLE_URL_MALFORMAT_USER",
=> "CURLE_COULDNT_RESOLVE_PROXY",
=> "CURLE_COULDNT_RESOLVE_HOST",
=> "CURLE_COULDNT_CONNECT",
=> "CURLE_FTP_WEIRD_SERVER_REPLY",
=> "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
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
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
6
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
up
1
jrschlosser
7 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