PHP 8.1.31 Released!

Constantes predefinidas

As contantes abaixo são definidas por esta extensão e só estarão disponíveis quando a extensão tiver sido compilada no PHP ou tiver sido carregada dinamicamente em tempo de execução.

Descrições e usos para estas constantes estão documentados nas funções curl_setopt(), curl_multi_setopt() e curl_getinfo().

Constantes Descrição
CURLALTSVC_H1 (int) Disponível a partir do PHP 8.2.0 e cURL 7.64.1.
CURLALTSVC_H2 (int) Disponível a partir do PHP 8.2.0 e cURL 7.64.1.
CURLALTSVC_H3 (int) Disponível a partir do PHP 8.2.0 e cURL 7.64.1.
CURLALTSVC_READONLYFILE (int) Disponível a partir do PHP 8.2.0 e cURL 7.64.1.
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int) Disponível a partir do PHP 8.2.0 e cURL 7.75.0.
CURLAUTH_BASIC (int)
CURLAUTH_BEARER (int) Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLAUTH_DIGEST (int)
CURLAUTH_DIGEST_IE (int) Usa autenticação HTTP Digest no estilo IE. Disponível a partir do cURL 7.19.3.
CURLAUTH_GSSAPI (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.1
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int) Disponível a partir do PHP 7.0.7 e cURL 7.38.0.
CURLAUTH_NONE (int) Disponível a partir do cURL 7.10.6.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int) Disponível a partir do PHP 7.0.7 e cURL 7.22.0
CURLAUTH_ONLY (int) Este é um meta-símbolo. A operação binária OR deste valor junto com um valor único de autenticação específica força a libcurl a pesquisar por autenticação irrestrita e se não utilizada, apenas esse único algoritmo de autenticação será aceitável. Disponível a partir do cURL 7.21.3.
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLFTPMETHOD_DEFAULT (int) Disponível a partir do PHP 8.2.0 e cURL 7.15.3.
CURLFTPMETHOD_MULTICWD (int) Faz uma única operação CWD para cada parte no URL fornecido. Disponível a partir do cURL 7.15.3.
CURLFTPMETHOD_NOCWD (int) libcurl não faz nenhuma operação CWD. libcurl faz as operações SIZE, RETR, STOR etc. e fornece um caminho completo ao servidor para todos estes comandos. Disponível a partir do cURL 7.15.3.
CURLFTPMETHOD_SINGLECWD (int) libcurl faz uma operação CWD com o caminho completo do diretório de destino e depois opera no arquivo como no caso do CURLFTPMETHOD_MULTICWD. Disponível a partir do cURL 7.15.3.
CURLFTPSSL_ALL (int)
CURLFTPSSL_CCC_ACTIVE (int) Inicia o desligamento e espera por uma resposta. Disponível a partir do cURL 7.16.2.
CURLFTPSSL_CCC_NONE (int) Não tenta usar o CCC (Clear Command Channel - canal de comando em texto puro). Disponível a partir do cURL 7.16.2.
CURLFTPSSL_CCC_PASSIVE (int) Não inicia o desligamento, mas espera que o servidor o faça. Não envia uma resposta. Disponível a partir do cURL 7.16.1.
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPSSL_TRY (int)
CURLFTP_CREATE_DIR (int) Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLFTP_CREATE_DIR_NONE (int) Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLFTP_CREATE_DIR_RETRY (int) Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLGSSAPI_DELEGATION_FLAG (int) Permite delegação incondicional de delegação de credenciais GSSAPI. Disponível a partir do cURL 7.22.0.
CURLGSSAPI_DELEGATION_POLICY_FLAG (int) Delega somente se a opção OK-AS-DELEGATE estiver ativa no tíquete de serviço se este recruso for suportado pela implementação GSS-API e a definicão de GSS_C_DELEG_POLICY_FLAG estava disponível no momento da compilação. Disponível a partir do cURL 7.22.0.
CURLHEADER_SEPARATE (int) Disponível a partir do PHP 7.0.7 e cURL 7.37.0.
CURLHEADER_UNIFIED (int) Disponível a partir do PHP 7.0.7 e cURL 7.37.0.
CURLHSTS_ENABLE (int) Disponível a partir do PHP 8.2.0 e cURL 7.74.0
CURLHSTS_READONLYFILE (int) Disponível a partir do PHP 8.2.0 e cURL 7.74.0
CURLKHMATCH_LAST (int) Disponível a partir do PHP 8.3.0 e cURL 7.19.6
CURLKHMATCH_MISMATCH (int) Disponível a partir do PHP 8.3.0 e cURL 7.19.6
CURLKHMATCH_MISSING (int) Disponível a partir do PHP 8.3.0 e cURL 7.19.6
CURLKHMATCH_OK (int) Disponível a partir do PHP 8.3.0 e cURL 7.19.6
CURLMIMEOPT_FORMESCAPE (int) Disponível a partir do PHP 8.3.0 e cURL 7.81.0
CURLMSG_DONE (int)
CURLPIPE_HTTP1 (int) Disponível a partir do cURL 7.43.0.
CURLPIPE_MULTIPLEX (int) Disponível a partir do cURL 7.43.0.
CURLPIPE_NOTHING (int) Disponível a partir do cURL 7.43.0.
CURLPROXY_HTTP (int) Disponível a partir do cURL 7.10.
CURLPROXY_HTTPS (int) Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLPROXY_HTTP_1_0 (int) Disponível a partir do PHP 7.0.7 e cURL 7.19.3
CURLPROXY_SOCKS4 (int) Disponível a partir do cURL 7.10.
CURLPROXY_SOCKS4A (int) Disponível a partir do cURL 7.18.0.
CURLPROXY_SOCKS5 (int) Disponível a partir do cURL 7.10.
CURLPROXY_SOCKS5_HOSTNAME (int) Disponível a partir do cURL 7.18.0.
CURLPX_BAD_ADDRESS_TYPE (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_BAD_VERSION (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_CLOSED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_GSSAPI (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_GSSAPI_PERMSG (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_GSSAPI_PROTECTION (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_IDENTD (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_IDENTD_DIFFER (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_LONG_HOSTNAME (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_LONG_PASSWD (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_LONG_USER (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_NO_AUTH (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_OK (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_RECV_ADDRESS (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_RECV_AUTH (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_RECV_CONNECT (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_RECV_REQACK (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_COMMAND_NOT_SUPPORTED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_CONNECTION_REFUSED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_GENERAL_SERVER_FAILURE (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_HOST_UNREACHABLE (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_NETWORK_UNREACHABLE (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_NOT_ALLOWED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_TTL_EXPIRED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REPLY_UNASSIGNED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_REQUEST_FAILED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_RESOLVE_HOST (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_SEND_AUTH (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_SEND_CONNECT (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_SEND_REQUEST (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_UNKNOWN_FAIL (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_UNKNOWN_MODE (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLPX_USER_REJECTED (int) Disponível a partir do PHP 8.2.0 e cURL 7.73.0
CURLSSH_AUTH_AGENT (int) Disponível a partir do PHP 7.0.7 e cURL 7.28.0
CURLSSH_AUTH_ANY (int)
CURLSSH_AUTH_DEFAULT (int)
CURLSSH_AUTH_GSSAPI (int) Disponível a partir do PHP 7.3.0 e cURL 7.58.0
CURLSSH_AUTH_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
CURLSSLOPT_ALLOW_BEAST (int) Disponível a partir do cURL 7.25.0
CURLSSLOPT_AUTO_CLIENT_CERT (int) Disponível a partir do PHP 8.2.0 e cURL 7.77.0
CURLSSLOPT_NATIVE_CA (int) Disponível a partir do PHP 8.2.0 e cURL 7.71.0
CURLSSLOPT_NO_PARTIALCHAIN (int) Disponível a partir do PHP 8.2.0 e cURL 7.68.0
CURLSSLOPT_NO_REVOKE (int) Disponível a partir do PHP 7.0.7 e cURL 7.44.0
CURLSSLOPT_REVOKE_BEST_EFFORT (int) Disponível a partir do PHP 8.2.0 e cURL 7.70.0
CURLUSESSL_ALL (int) Requer SSL para todas as comunicações ou falha com CURLE_USE_SSL_FAILED. Disponível a partir do cURL 7.17.0.
CURLUSESSL_CONTROL (int) Requer SSL para conexão de controle ou falha com CURLE_USE_SSL_FAILED. Disponível a partir do cURL 7.17.0.
CURLUSESSL_NONE (int) Não tenta usar SSL. Disponível a partir do cURL 7.17.0.
CURLUSESSL_TRY (int) Tenta usar SSL, procede normalmente caso não seja possível. Observe que o servidor pode fechar a conexão se a negociação não for bem sucedida. Disponível a partir do cURL 7.17.0.
CURLVERSION_NOW (int)
CURLWS_RAW_MODE (int) Disponível a partir do PHP 8.3.0 e cURL 7.86.0
CURL_FNMATCHFUNC_FAIL (int) Retornado pela função de correspondência a coringas se um erro ocorrer. Disponível a partir do cURL 7.21.0.
CURL_FNMATCHFUNC_MATCH (int) Retornado pela função de correspondência a coringas se o padrão corresponder à string. Disponível a partir do cURL 7.21.0.
CURL_FNMATCHFUNC_NOMATCH (int) Retornado pela função de correspondência a coringas se o padrão não corresponder à string. Disponível a partir do cURL 7.21.0.
CURL_HTTP_VERSION_1_0 (int)
CURL_HTTP_VERSION_1_1 (int)
CURL_HTTP_VERSION_2 (int) Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURL_HTTP_VERSION_2TLS (int) Disponível a partir do PHP 7.0.7 e cURL 7.47.0
CURL_HTTP_VERSION_2_0 (int) Disponível a partir do cURL 7.33.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int) Disponível a partir do PHP 7.0.7 e cURL 7.49.0
CURL_HTTP_VERSION_3 (int) Disponível a partir do PHP 8.4.0 e cURL 7.66.0.
CURL_HTTP_VERSION_3ONLY (int) Disponível a partir do PHP 8.4.0 e cURL 7.88.0.
CURL_HTTP_VERSION_NONE (int)
CURL_IPRESOLVE_V4 (int) Usa apenas endereços IPv4 ao estabelecer uma conexão ou ao escolher uma a partir do pool de conexões. Disponível a partir do cURL 7.10.8.
CURL_IPRESOLVE_V6 (int) Usa apenas endereços IPv6 ao estabelecer uma conexão ou ao escolher uma a partir do pool de conexões. Disponível a partir do cURL 7.10.8.
CURL_IPRESOLVE_WHATEVER (int) Usa endereços de todas as versões de IP permitidas pelo sistema. Disponível a partir do cURL 7.10.8.
CURL_MAX_READ_SIZE (int) Disponível a partir do PHP 7.3.0 e cURL 7.53.0
CURL_NETRC_IGNORED (int)
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_REQUIRED (int)
CURL_PUSH_DENY (int) Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURL_PUSH_OK (int) Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURL_READFUNC_PAUSE (int) Disponível a partir do cURL 7.18.0.
CURL_REDIR_POST_301 (int) Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_REDIR_POST_302 (int) Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_REDIR_POST_303 (int) Disponível a partir do PHP 7.0.7 e cURL 7.25.1
CURL_REDIR_POST_ALL (int) Disponível a partir do PHP 7.0.7 e cURL 7.18.2
CURL_RTSPREQ_ANNOUNCE (int) Quando enviado por um cliente, este método altera a descrição da sessão. ANNOUNCE atua como um PUT ou POST HTTP da mesma forma que CURL_RTSPREQ_SET_PARAMETER. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_DESCRIBE (int) Usada para obter a descrição baixo nível de um fluxo. A aplicação deve observar que formatos ela entende no cabeçalho Accept:. A menos que seja definido manualmente, a libcurl automaticamente adiciona Accept: application/sdp. Cabeçalhos de condições temporais são adicionados a requisições DESCRIBE se a opção CURLOPT_TIMECONDITION for usada. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_GET_PARAMETER (int) Recupera um parâmetro do servidor. Por padrão, a libcurl adiciona um cabeçalho Content-Type: text/parameters em todas as requisições não vazias a menos que um cabeçalho personalizado seja definido. GET_PARAMETER atua da mesma forma que um PUT ou um POST HTTP. Aplicações cujas intenções sejam enviar uma mensagem de pulsação devem usar uma requisição GET_PARAMETER vazia. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_OPTIONS (int) Usada para recuperar os métodos disponíveis do servidor. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_PAUSE (int) Envia um comando PAUSE ao servidor. Use a opção CURLOPT_RANGE com um único valor para indicar quando o fluxo deve parar (ex.: npt=25). Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_PLAY (int) Envia um comando PLAY ao servidor. Use a opção CURLOPT_RANGE para modificar o momento que o fluxo deve continuar (ex.: npt=10-15). Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_RECEIVE (int) Defina o tipo de requisição RTSP para este falor para receber dados RTP intercalados. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_RECORD (int) Usada para informar ao servidor que grave a sessão. Use a opção CURLOPT_RANGE para modificar o tempo de gravação. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_SETUP (int) Usada para inicializar a camada de transporte para a sessão. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_SET_PARAMETER (int) Define um parâmetro no servidor. Disponível a partir do cURL 7.20.0.
CURL_RTSPREQ_TEARDOWN (int) Termina uma sessão RTSP. O simples fechamento de uma conexão não termina a sessão RTSP já que é válido controlar uma sessão RTSP a partir de diferentes conexões. Disponível a partir do cURL 7.20.0.
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_MAX_DEFAULT (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_NONE (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_0 (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_1 (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_2 (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_MAX_TLSv1_3 (int) Disponível a partir do PHP 7.3.0 e cURL 7.54.0
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURL_SSLVERSION_TLSv1_3 (int) Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
CURL_TIMECOND_NONE (int)
CURL_TLSAUTH_SRP (int) Disponível a partir do cURL 7.21.4.
CURL_VERSION_ALTSVC (int) Disponível a partir do PHP 7.3.6 e cURL 7.64.1
CURL_VERSION_ASYNCHDNS (int) Resolução de DNS assíncrona. Disponível a partir do PHP 7.3.0 e cURL 7.10.7
CURL_VERSION_BROTLI (int) Disponível a partir do PHP 7.3.0 e cURL 7.57.0
CURL_VERSION_CONV (int) Suporte a conversão de caracteres. Disponível a partir do PHP 7.3.0 e cURL 7.15.4
CURL_VERSION_CURLDEBUG (int) Rastreamento de memória para depuração suportado. Disponível a partir do PHP 7.3.6 e cURL 7.19.6
CURL_VERSION_DEBUG (int) Compilado com funcionalidades de depuração. Disponível a partir do PHP 7.3.0 e cURL 7.10.6
CURL_VERSION_GSASL (int) Disponível a partir do PHP 8.2.0 e cURL 7.76.0
CURL_VERSION_GSSAPI (int) Compilado com a biblioteca GSS-API. Disponível a partir do PHP 7.3.0 e cURL 7.38.0
CURL_VERSION_GSSNEGOTIATE (int) Autenticação de negociação GSS é suportada. Disponível a partir do PHP 7.3.0 e cURL 7.10.6 (descontinuado a partir do 7.38.0)
CURL_VERSION_HSTS (int) Disponível a partir do PHP 8.2.0 e cURL 7.74.0
CURL_VERSION_HTTP2 (int) Suporte interno ao HTTP2. Disponível a partir do cURL 7.33.0
CURL_VERSION_HTTP3 (int) Disponível a partir do PHP 8.2.0 e cURL 7.66.0
CURL_VERSION_HTTPS_PROXY (int) Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURL_VERSION_IDN (int) Nomes de Domínio Internacionalizados são suportados. Disponível a partir do PHP 7.3.0 e cURL 7.12.0
CURL_VERSION_IPV6 (int) Habilitado para IPv6.
CURL_VERSION_KERBEROS4 (int) Autenticação Kerberos V4 é suportada.
CURL_VERSION_KERBEROS5 (int) Autenticação Kerberos V5 é suportada. Disponível a partir do PHP 7.0.7 e cURL 7.40.0
CURL_VERSION_LARGEFILE (int) Suporta arquivos maiores que 2GB. Disponível a partir do cURL 7.33.0
CURL_VERSION_LIBZ (int) Recursos libz estão presentes.
CURL_VERSION_MULTI_SSL (int) Disponível a partir do PHP 7.3.0 e cURL 7.56.0
CURL_VERSION_NTLM (int) Autenticação NTLM é suportada. Disponível a partir do PHP 7.3.0 e cURL 7.10.6
CURL_VERSION_NTLM_WB (int) Delegação NTLM para winbind helper é suportado. Disponível a partir do PHP 7.3.0 e cURL 7.22.0
CURL_VERSION_PSL (int) Lista Pública de Sufixos do Mozilla, utilizada para verificação de cookies de domínio. Disponível a partir do PHP 7.3.6 e cURL 7.47.0
CURL_VERSION_SPNEGO (int) Autenticação SPNEGO é suportada. Disponível a partir do PHP 7.3.0 e cURL 7.10.8
CURL_VERSION_SSL (int) Opções SSL estão presentes.
CURL_VERSION_SSPI (int) Compilado com Windows SSPI. Disponível a partir do PHP 7.3.0 e cURL 7.13.2
CURL_VERSION_TLSAUTH_SRP (int) Autenticação TLS-SRP é suportada. Disponível a partir do PHP 7.3.0 e cURL 7.21.4
CURL_VERSION_UNICODE (int) Disponível a partir do PHP 8.2.0 e cURL 7.72.0
CURL_VERSION_UNIX_SOCKETS (int) Sockets de domínio Unix suportados. Disponível a partir do PHP 7.0.7 e cURL 7.40.0
CURL_VERSION_ZSTD (int) Disponível a partir do PHP 8.2.0 e cURL 7.72.0
CURL_WRITEFUNC_PAUSE (int) Disponível a partir do cURL 7.18.0.
CURL_PREREQFUNC_OK (int) Disponível a partir do PHP 8.4.0 e cURL 7.80.0.
CURL_PREREQFUNC_ABORT (int) Disponível a partir do PHP 8.4.0 e cURL 7.80.0.
curl_setopt()
Constantes Descrição
CURLOPT_ABSTRACT_UNIX_SOCKET (int)

Habilita o uso de um soquete de domínio Unix abstrato ao invés de estabelecer uma conexão TCP a um servidor e define o caminho para a string informada. Esta opção compatilha da mesma semântica de CURLOPT_UNIX_SOCKET_PATH. Estas duas opções compartilham o mesmo armazenamento e portanto somente uma delas pode ser definida por identificador. Disponível a partir do PHP 7.3.0 e cURL 7.53.0.

CURLOPT_ACCEPT_ENCODING (int)

Define uma string com o conteúdo do cabeçalho Accept-Encoding: enviado em uma requisição HTTP. Se definida para null, desabilita o envio do cabeçalho Accept-Encoding:. O padrão é null. Disponível a partir do cURL 7.21.6.

CURLOPT_ACCEPTTIMEOUT_MS (int)

O número máximo de milissegundos de espera para que um servidor se conecte novamente ao cURL quando uma conexão FTP ativa é usada. Esta opção aceita qualquer valor que possa ser convertido em um int válido. O padrão é 60000 milissegundos. Disponível a partir do cURL 7.24.0.

CURLOPT_ADDRESS_SCOPE (int)

O valor do ID do escopo a ser usado ao conectar-se a endereços IPv6. Esta opção aceita qualquer valor que possa ser convertido em um int válido. O padrão é 0. Disponível a partir do cURL 7.19.0.

CURLOPT_ALTSVC (int)

Passa uma string com o nome do arquivo para o cURL usar como o arquivo de cache Alt-Svc para leitura de conteúdo de cache existente e possivelmente também gravar de volta após uma transferência, a menos que CURLALTSVC_READONLYFILE esteja definido CURLOPT_ALTSVC_CTRL. Disponível a partir do PHP 8.2.0 e cURL 7.64.1.

CURLOPT_ALTSVC_CTRL (int)

Popula a máscara de bits com o conjunto correto de recursos para instruir o cURL sobre como lidar com Alt-Svc para as transferências usando este identificador. cURL somente aceita cabeçalhos Alt-Svc através de HTTPS. Também irá completar uma requisição para uma origem alternativa se essa origem for apropriadamente servida através de HTTPS. Definir qualquer bit irá habilitar o motor Alt-svc. Pode ser uma das constantes CURLALTSVC_*. O padrão é o motor Alt-svc desabilitado. Disponível a partir do PHP 8.2.0 e cURL 7.64.1.

CURLOPT_APPEND (int)

Definir esta opção como 1 fará com que os uploads de FTP sejam anexados ao arquivo remoto em vez de sobrescrevê-lo. O padrão é 0. Disponível a partir do cURL 7.17.0.

CURLOPT_AUTOREFERER (int)

true para definir automaticamente o campo Referer: nas requisições onde ele segue um redirecionamento Location:. O padrão é 0. Disponível a partir do cURL 7.1.0.

CURLOPT_AWS_SIGV4 (int)

Fornece autenticação de assinatura AWS V4 em cabeçalho HTTP(S) como uma string. Esta opção substitui qualquer outros tipos de autenticação que tenham sido definidos em CURLOPT_HTTPAUTH. Este método não pode ser combinado com outros tipos de autenticação. Disponível a partir do PHP 8.2.0 e cURL 7.75.0.

CURLOPT_BINARYTRANSFER (int)

Esta constante não é mais usada desde o PHP 5.5.0. Descontinuada a partir do PHP 8.4.0.

CURLOPT_BUFFERSIZE (int)

O tamanho do buffer a ser usado para cada leitura. Entretanto, não há garantia de que esta requisição será cumprida. Esta opção aceita qualquer valor que possa ser convertido para um int válido. O padrão é CURL_MAX_WRITE_SIZE (atualmente, 16kB). Disponível a partir do cURL 7.10.

CURLOPT_CAINFO (int)

Uma string com o nome de um arquivo contendo um ou mais certificados com o qual o par será verificado. Só faz sentido se usado em combinação com CURLOPT_SSL_VERIFYPEER. Pode requerer um caminho absoluto. Disponível a partir do cURL 7.4.2.

CURLOPT_CAINFO_BLOB (int)

Uma string com o nome de um arquivo PEM contendo um ou mais certificados com o qual o par será verificado. Esta opção substitui a CURLOPT_CAINFO. Disponível a partir do PHP 8.2.0 e cURL 7.77.0.

CURLOPT_CAPATH (int)

Uma string com o diretótio que mantém múltiplos certificados CA. Use esta opção junto com CURLOPT_SSL_VERIFYPEER. Disponível a partir do cURL 7.9.8.

CURLOPT_CA_CACHE_TIMEOUT (int)

Define o tempo máximo em segundo que qualquer armazenamento de certificado CA em cache na memória pode ser mantido e reutilizado para novas conexões. Esta opção aceita qualquer valor que possa ser convertido para um int válido. O padrão é 86400 (24 horas). Disponível a partir do PHP 8.3.0 e cURL 7.87.0.

CURLOPT_CERTINFO (int)

true para enviar informação de certificação SSL para STDERR em transferências seguras. Requer CURLOPT_VERBOSE ligada para ter efeito. O padrão é false. Disponível a partir do cURL 7.19.1.

CURLOPT_CONNECTTIMEOUT (int)

O número de segundos a esperar durante tentativa de conexão. Use 0 para esperar indefinidamente. Esta opção aceita qualquer valor que possa ser convertido para um int válido. O padrão é 300. Disponível a partir do cURL 7.7.0.

CURLOPT_CONNECTTIMEOUT_MS (int)

O número de milissegundos a esperar durante tentativa de conexão. Use 0 para esperar indefinidamente. Se o cURL tiver sido compilado para usar resolução de nome padrão do sistema, esta porção da conexão ainda usará a resolução de segundos inteiros para limites de tempo com um tempo mínimo permitido de um segundo. Esta opção aceita qualquer valor que possa ser convertido para um int válido. O padrão é 300000. Disponível a partir do cURL 7.16.2.

CURLOPT_CONNECT_ONLY (int)

true informa à biblioteca para realizar toda a autenticação de proxy requerida e configuração de conexão, mas sem transferência de dados. Esta opção está implementada para HTTP, SMTP e POP3. O padrão é false. Disponível a partir do cURL 7.15.2.

CURLOPT_CONNECT_TO (int)

Conecta a um servidor e porta específicos ao invés do servidor e porta da URL. Aceita um array de strings com o formato HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT. Disponível a partir do PHP 7.0.7 e cURL 7.49.0.

Uma string com o conteúdo do cabeçalho Cookie: a ser usado na requisição HTTP. Observe que cookies múltiplos são separados por ponto-e-vírgula seguido de um espaço (ex.: fruit=apple; colour=red). Disponível a partir do cURL 7.1.0.

CURLOPT_COOKIEFILE (int)

Uma string com o nome do arquivo contendo os dados do cookie. O arquivo de cookie pode ser no formato Netscape ou apenas cabeçalhos puros no estilo HTTP gravados em um arquivo. Se o nome for uma string vazia, nenhum cookie é carregado, porém o gerenciamento de cookies ainda estará habilitado. Disponível a partir do cURL 7.1.0.

CURLOPT_COOKIEJAR (int)

Uma string com o nome do arquivo para gravar todos os cookies internos para quando o destrutor do identificador for chamado. Disponível a partir do cURL 7.9.0.

Aviso

A partir do PHP 8.0.0, curl_close() não tem função e NÃO destrói o identificador. Se for necessário gravar cookies antes do identificador ser destruido automaticamente, chame unset() no identificador.

CURLOPT_COOKIELIST (int)

Uma string de cookie (isto é, uma linha única no formato Netscape/Mozilla ou um cabeçalho Set-Cookie no estilo HTTP) adiciona esse cookie único ao armazenamento interno de cookies. ALL apaga todos os cookies da memória , SESS apaga todos os cookies de sessão mantidos na memória , FLUSH grava todos os cookies conhecidos no arquivo especificado por CURLOPT_COOKIEJAR , RELOAD carrega todos os cookies dos arquivos especificados por CURLOPT_COOKIEFILE . Disponível a partir do cURL 7.14.1.

CURLOPT_COOKIESESSION (int)

true para marcar esta como uma nova "sessão" de cookie. Irá forçar o cURL a ignorar todos os cookies que estiverem para ser carregados que sejam "cookies de sessão" da sessão anterior. Por padrão, o cURL sempre guarda e carrega todos os cookies, independente se houver cookies de sessão ou não. Cookies de sessão são cookies sem data de expiração que devem existir apenas durante esta "sessão". Disponível a partir do cURL 7.9.7.

CURLOPT_CRLF (int)

true para converter novas linhas Unix para novas linhas CRLF nas transferências. Disponível a partir do cURL 7.1.0.

CURLOPT_CRLFILE (int)

Passa uma string nomeando um arquivo com a concatenação da CRL (Certificate Revocation List) (em formato PEM) para utilização na validação do certificado que ocorre durante a troca SSL. Quando cURL é construído para usar GnuTLS, não há como influenciar o uso da CRL passada para ajudar no processo de verificação. Quando cURL é construído com suporte OpenSSL, ambas X509_V_FLAG_CRL_CHECK e X509_V_FLAG_CRL_CHECK_ALL estarão definidas, exigindo verificação de CRL em todos os elementos da cadeia de certificados se um arquivo CRL for passado. Observe também que CURLOPT_CRLFILE implica em CURLSSLOPT_NO_PARTIALCHAIN a partir do cURL 7.71.0 devido a um problema do OpenSSL. Disponível a partir do cURL 7.19.0.

CURLOPT_CUSTOMREQUEST (int)

Um método de requisição customizado a ser usado no lugar de GET ou HEAD ao fazer uma requisição HTTP. Isto é útil para fazer DELETE ou outras requisições HTTP mais obscuras. Valores válidos são por exemplo GET, POST, CONNECT entre outros; Não insira aqui uma requisição HTTP inteira. Por exemplo, escrever GET /index.html HTTP/1.0\r\n\r\n estaria incorreto. Esta opção aceita uma string ou null. Disponível a partir do cURL 7.1.0.

Nota:

Isto não deve ser feito sem primeiro garantir que o servidor suporta o método de requisição.

CURLOPT_DEFAULT_PROTOCOL (int)

Uma string com o protocolo padrão a ser usado se a URL não tiver um nome de esquema. Disponível a partir do PHP 7.0.7 e cURL 7.45.0.

CURLOPT_DIRLISTONLY (int)

Definir esta opção como 1 terá efeitos diferentes com base no protocolo com o qual é usada. URLs baseados em FTP e SFTP listarão apenas os nomes dos arquivos em um diretório. POP3 listará a mensagem ou mensagens de e-mail no servidor POP3. Para FILE, esta opção não tem efeito, pois os diretórios são sempre listados neste modo. Usar esta opção com CURLOPT_WILDCARDMATCH impedirá que este último tenha qualquer efeito. O padrão é 0. Disponível a partir do cURL 7.17.0.

CURLOPT_DISALLOW_USERNAME_IN_URL (int)

true para não permitir URLs que incluem um nome de usuário. Nomes de usuário são permitidos por padrão. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.

CURLOPT_DNS_CACHE_TIMEOUT (int)

O número de segundos para manter as entradas DNS na memória. Esta opção é definida para 120 (2 minutos) por padrão. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.9.3.

CURLOPT_DNS_INTERFACE (int)

Define o nome da interface de rede à qual a resolução de DNS deve vincular. Precisa ser um nome de interface (não um endereço). Esta opção aceita uma string ou null. Disponível a partir do PHP 7.0.7 e cURL 7.33.0.

CURLOPT_DNS_LOCAL_IP4 (int)

Define o endereço IPv4 local ao qual a resolução DNS deve vincular. O argumento deve conter um único endereço numérico IPv4. Esta opção aceita uma string ou null. Disponível a partir do PHP 7.0.7 e cURL 7.33.0.

CURLOPT_DNS_LOCAL_IP6 (int)

Define o endereço IPv6 local ao qual a resolução DNS deve vincular. O argumento deve conter um único endereço numérico IPv6. Esta opção aceita uma string ou null. Disponível a partir do PHP 7.0.7 e cURL 7.33.0.

CURLOPT_DNS_SERVERS (int)

Passa uma string com uma lista separada por vírgulas de servidores DNS a serem usados ​​em vez do padrão do sistema (ex.: 192.168.1.100,192.168.1.101:8080). Disponível a partir do cURL 7.24.0.

CURLOPT_DNS_SHUFFLE_ADDRESSES (int)

true para embaralhar a ordem de todos os endereços de retorno de forma que sejam usados em ordem aleatória, quando um nome é resolvido e mais de um endereço IP é retornado. Isso pode fazer com que IPv4 seja usado antes de IPv6 ou vice-versa. Disponível a partir do PHP 7.3.0 e cURL 7.60.0.

CURLOPT_DNS_USE_GLOBAL_CACHE (int)

true para usar cache de DNS global. Esta opção não é segura para threads. É condicionalmente habilitada por padrão se o PHP for compilado sem uso de threads (CLI, FCGI, Apache2-Prefork, etc.). Disponível a partir do cURL 7.9.3 e descontinuada a partir do cURL 7.11.1. A partir do PHP 8.4, esta opção não tem mais qualquer efeito.

CURLOPT_DOH_SSL_VERIFYHOST (int)

Definida como 2 verifica os campos de nome de certificado SSL do servidor de DNS-sobre-HTTPS, comparando com o nome do host. Disponível a partir do PHP 8.2.0 e cURL 7.76.0.

CURLOPT_DOH_SSL_VERIFYPEER (int)

Definida como 1 habilita e como 0 desabilita a verificação da autenticidade do certificado SSL do servidor de DNS-sobre-HTTPS. Disponível a partir do PHP 8.2.0 e cURL 7.76.0.

CURLOPT_DOH_SSL_VERIFYSTATUS (int)

Definida como 1 habilita e como 0 desabilita a verificação do status do certificado do servidor de DNS-sobre-HTTPS usando a extensão TLS "Certificate Status Request" (grampeamento OCSP). Disponível a partir do PHP 8.2.0 e cURL 7.76.0.

CURLOPT_DOH_URL (int)

Fornece a URL do DNS-sobre-HTTPS. Esta opção aceita uma string ou null. Disponível a partir do PHP 8.1.0 e cURL 7.62.0.

CURLOPT_EGDSOCKET (int)

Similar a CURLOPT_RANDOM_FILE, exceto por um nome de arquivo para um soquete "Entropy Gathering Daemon". Disponível a partir do cURL 7.7.0 e descontinuada a partir do cURL 7.84.0.

CURLOPT_ENCODING (int)

O conteúdo do cabeçalho Accept-Encoding: com uma string. Isto habilita a decodificação da responsta. Codificações suportadas são: identity, deflate, gzip. Se uma string vazia for informada, é enviado um cabeçalho contendo todas os tipos de codificação. Disponível a partir do cURL 7.10 e descontinuada a partir do cURL 7.21.6.

CURLOPT_EXPECT_100_TIMEOUT_MS (int)

O limite de tempo para respostas Expect: 100-continue em milissegundos. O padrão é 1000 milissegundos. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do PHP 7.0.7 e cURL 7.36.0.

CURLOPT_FAILONERROR (int)

true para falhar prolixamente se o código HTTP retornado for maior ou igual a 400. O comportamento padrão é retornar a página normalmente, ignorando o código. Disponível a partir do cURL 7.1.0.

CURLOPT_FILE (int)

Aceita um resource identificador de arquivo no qual a transferência deve ser gravada. O padrão é STDOUT (a janela do navegador). Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.9.7.

CURLOPT_FILETIME (int)

Defina como true para tentar buscar a data de modificação do documento remoto. Este valor pode ser buscado usando-se a opção CURLINFO_FILETIME com curl_getinfo(). Disponível a partir do cURL 7.5.0.

CURLOPT_FNMATCH_FUNCTION (int)

Passa um tipo callable que será usado para correspondência com caracteres coringas. A assinatura desta função deve ser:

callback(resource $curlHandle, string $pattern, string $string): int
curlHandle
O identificador cURL.
pattern
A expressão com coringas.
string
A string na qual a correspodência com coringas será executada.
A função deve retornar CURL_FNMATCHFUNC_MATCH se a expressão corresponder à string, CURL_FNMATCHFUNC_NOMATCH se não corresponder ou CURL_FNMATCHFUNC_FAIL se um erro ocorrer. Disponível a partir do cURL 7.21.0.

CURLOPT_FOLLOWLOCATION (int)

Defina como true para seguir qualquer cabeçalho Location: que o servidor envia como parte do cabeçalho HTTP. Consulte também CURLOPT_MAXREDIRS. Esta constante não está disponível quando open_basedir está habilitada. Disponível a partir do cURL 7.1.0.

CURLOPT_FORBID_REUSE (int)

Defina como true para forçar a conexão a ser fechada explicitamente ao terminar o processamento, e não ser enfileirada para reúso. Disponível a partir do cURL 7.7.0.

CURLOPT_FRESH_CONNECT (int)

Defina como true para forçar o uso de uma nova conexão ao invés de uma em cache. Disponível a partir do cURL 7.7.0.

CURLOPT_FTPAPPEND (int)

Defina como true para anexar ao arquivo remoto ao invés de sobrescrevê-lo. Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.16.4.

CURLOPT_FTPASCII (int)

Um apelido para CURLOPT_TRANSFERTEXT. Use este último. Disponível a partir do cURL 7.1, descontinuada a partir do cURL 7.11.1 e pela última vez disponível no cURL 7.15.5. Removida a partir do PHP 7.3.0.

CURLOPT_FTPLISTONLY (int)

Defina como true para apenas listar os nomes de um diretório FTP. Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.16.4.

CURLOPT_FTPPORT (int)

Uma string que será usada para obter o endereço IP para a instrução FTP PORT. A instrução PORT solicita ao servidor remoto que se conecte ao endereço IP especificado. A string pode ser um endereço IP puro, um nome de servidor, um nome de interface de rede (no Unix), ou apenas um hífen - para usar o endereço IP padrão do sistema. Esta opção aceita uma string ou null. Disponível a partir do cURL 7.1.0.

CURLOPT_FTPSSLAUTH (int)

Define o método de autenticação FTP sobre SSL (se ativado) para qualquer das constantes CURLFTPAUTH_*. O padrão é CURLFTPAUTH_DEFAULT. Disponível a partir do cURL 7.12.2.

CURLOPT_FTP_ACCOUNT (int)

Passe uma string que será enviada como informação da conta via FTP (usando o comando ACCT) depois que o nome de usuário e a senha forem fornecidos ao servidor. Se definida como null, desativa o envio das informações da conta. O padrão é null. Disponível a partir do cURL 7.13.0.

CURLOPT_FTP_ALTERNATIVE_TO_USER (int)

Passa uma string que será usada para tentativa de autenticação por FTP se a negociação USER/PASS falhar. Disponível a partir do cURL 7.15.5.

CURLOPT_FTP_CREATE_MISSING_DIRS (int)

Defina como true para criar diretórios ausentes quando uma operação FTP encontrar um caminho que não existe atualmente. Disponível a partir do cURL 7.10.7.

CURLOPT_FTP_FILEMETHOD (int)

Informa ao cURL que método deve ser usado para alcançar um arquivo em um servidor FTP(S). Valores possíveis são quaisquer das constantes CURLFTPMETHOD_*. O padrão é CURLFTPMETHOD_MULTICWD. Disponível a partir do cURL 7.15.1.

CURLOPT_FTP_RESPONSE_TIMEOUT (int)

Um tempo limite em segundos em que o cURL aguardará uma resposta de um servidor FTP. Esta opção substitui CURLOPT_TIMEOUT. Esta opção aceita qualquer valor que possa ser convertido em um int válido. Este nome de opção foi substituído por CURLOPT_SERVER_RESPONSE_TIMEOUT, disponível a partir do PHP 8.4.0. Disponível a partir do cURL 7.10.8 e defasado a partir do cURL 7.85.0.

CURLOPT_FTP_SKIP_PASV_IP (int)

Se esta opção for definida como 1, o cURL não usará o endereço IP que o servidor sugere em sua resposta 227 ao comando PASV do cURL, mas usará o endereço IP usado para o conexão. O número da porta recebido da resposta 227 não será ignorado pelo cURL. O padrão é 1 a partir do cURL 7.74.0. e 0 antes disso. Disponível a partir do cURL 7.15.0.

CURLOPT_FTP_SSL (int)

Disponível a partir do cURL 7.11.0 e descontinuada a partir do cURL 7.16.4.

CURLOPT_FTP_SSL_CCC (int)

Esta opção faz com que o cURL use CCC (Clear Command Channel), que desliga a camada SSL/TLS após a autenticação, tornando o restante da comunicação do canal de controle descriptografado. Use uma das constantes CURLFTPSSL_CCC_*. O padrão é CURLFTPSSL_CCC_NONE. Disponível a partir do cURL 7.16.1.

CURLOPT_FTP_USE_EPRT (int)

Defina como true para usar EPRT (e LPRT) ao realizar downloads FTP ativos. Use false para desabilitar EPRT e LPRT e usar PORT somente. Disponível a partir do cURL 7.10.5.

CURLOPT_FTP_USE_EPSV (int)

Defina como true para primeiro tentar um comando EPSV para transferências FTP antes de reverter para PASV. Defina como false para desabilitar EPSV. Disponível a partir do cURL 7.9.2.

CURLOPT_FTP_USE_PRET (int)

Definida para 1, envia um comando PRET antes de PASV (e EPSV). Não tem efeito ao usar o modo ativo de transferências FTP. O padrão é 0. Disponível a partir do cURL 7.20.0.

CURLOPT_GSSAPI_DELEGATION (int)

Definida como CURLGSSAPI_DELEGATION_FLAG, permite a delegação incondicional de credenciais GSSAPI. Definida como CURLGSSAPI_DELEGATION_POLICY_FLAG, delega somente se a opção OK-AS-DELEGATE estiver definida no ticket de serviço. O padrão é CURLGSSAPI_DELEGATION_NONE. Disponível a partir do cURL 7.22.0.

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)

Tempo para o IPv6 começar à frente no algoritmo "happy eyeballs". Este algoritmo tenta a conexão simutânea a endereços IPv4 e IPv6 para servidores de pilha dupla, preferindo IPv6 primeiro pelo tempo especificado em milissegundos. O padrão é CURL_HET_DEFAULT, que atualmente é de 200 milissegundos. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do PHP 7.3.0 e cURL 7.59.0.

CURLOPT_HAPROXYPROTOCOL (int)

Defina como true para enviar um cabeçalho de protocolo PROXY HAProxy v1 no início da conexão. A ação padrão é não enviar este cabeçalho. Disponível a partir do PHP 7.3.0 e cURL 7.60.0.

CURLOPT_HEADER (int)

Defina como true para incluir o cabeçalho na saída enviada à função de retorno definida por CURLOPT_WRITEFUNCTION. Disponível a partir do cURL 7.1.0.

CURLOPT_HEADERFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(resource $curlHandle, string $headerData): int
curlHandle
O identificador cURL.
headerData
Os dados de cabeçalho que precisam ser escritos pela função.
A função deve retornar o número de bytes escritos. Disponível a partir do cURL 7.7.2.

CURLOPT_HEADEROPT (int)

Evia cabeçalhos HTTP tanto para prooxy quanto para host, ou separadamente. Valores possíveis são quaisquer das constantes CURLHEADER_*. O padrão é CURLHEADER_SEPARATE a partir do cURL 7.42.1, e CURLHEADER_UNIFIED antes dessa versão. Disponível a partir do PHP 7.0.7 e cURL 7.37.0.

CURLOPT_HSTS (int)

Uma string com o nome do arquivo de cache HSTS (HTTP Strict Transport Security). ou null para permitir HSTS sem ler ou escrever em qualuqer arquivo e limpar a lista de arquivos dos quais os dados HSTS são lidos. Disponível a partir do PHP 8.2.0 e cURL 7.74.0.

CURLOPT_HSTS_CTRL (int)

Aceita uma máscara de bits de recursos HSTS (HTTP Strict Transport Security) definidos pelas constantes CURLHSTS_*. Disponível a partir do PHP 8.2.0 e cURL 7.74.0.

CURLOPT_HTTP09_ALLOWED (int)

Informa se respostas HTTP/0.9 são permitidas. O padrão é false a partir do cURL 7.66.0; anteriormente o padrão era true. Disponível a partir do PHP 7.3.15 e 7.4.3, respectivamente, e cURL 7.64.0.

CURLOPT_HTTP200ALIASES (int)

Um array de respostas HTTP 200 que serão tratadas como respostas válidas e não como erros. Disponível a partir do cURL 7.10.3.

CURLOPT_HTTPAUTH (int)

Uma máscara de bits dos métodos de autenticação HTTP a serem usados. As opções são: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_AWS_SIGV4, CURLAUTH_ANY, CURLAUTH_ANYSAFE. Se mais de um método for usado, o cURL irá consultar o servidor para ver que métodos ele suporta e escolherá o melhor. CURLAUTH_ANY liga todos os bits. O cURL selecionará automaticamente o que ele considerar o mais seguro. CURLAUTH_ANYSAFE liga todos os bits exceto o CURLAUTH_BASIC. O cURL selecionará automaticametne o que ele considerar o mais seguro. Disponível a partir do cURL 7.10.6.

CURLOPT_HTTPGET (int)

Defina como true para redefinir o método de requisição HTTP para GET. Como GET é o padrão, isto somente é necessário se o método de requisição tiver sido alterado. Disponível a partir do cURL 7.8.1.

CURLOPT_HTTPHEADER (int)

Um array de campos de cabeçalho HTTP a definir, no formato array('Content-type: text/plain', 'Content-length: 100') Disponível a partir do cURL 7.1.0.

CURLOPT_HTTPPROXYTUNNEL (int)

Defina como true para encapsular através de um determinado proxy HTTP. Disponível a partir do cURL 7.3.0.

CURLOPT_HTTP_CONTENT_DECODING (int)

false para obter o corpo de resposta HTTP bruto. Disponível a partir do cURL 7.16.2.

CURLOPT_HTTP_TRANSFER_DECODING (int)

Se definida para 0, a decodificação de transferência é desabilitada. Se definida como 1, a decodificação de transferência é habilitada. O cURL faz decodificação de transferência em partes por padrão, a menos que esta opção esteja definida como 0. O padrão é 1. Disponível a partir do cURL 7.16.2.

CURLOPT_HTTP_VERSION (int)

Defina para uma das contantes CURL_HTTP_VERSION_* para que o CURL use a versão especificada. Disponível a partir do cURL 7.9.1.

CURLOPT_IGNORE_CONTENT_LENGTH (int)

Se definida como 1, ignora o cabeçalho Content-Length na resposta HTTP e ignore a solicitação ou dependência dele para transferências FTP. O padrão é 0. Disponível a partir do cURL 7.14.1.

CURLOPT_INFILE (int)

Aceita um resource identificador do arquivo a ser lido pela transferência durante o envio. Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.9.7. Use CURLOPT_READDATA em seu lugar.

CURLOPT_INFILESIZE (int)

O tamanho esperado do arquivo, em bytes, ao enviá-lo a um servidor remoto. Observe que usar esta opção não impedirá que o cURL envie mais dados, já que o que exatamente será enviado depende de CURLOPT_READFUNCTION. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.1.0.

CURLOPT_INTERFACE (int)

Aceita uma string com o nome da interface de rede de saída a ser usada. Pode ser um nome de interface, um endereço IP ou um nome de servidor. Disponível a partir do cURL 7.1.0.

CURLOPT_IPRESOLVE (int)

Permite que uma aplicação selecione que tipo de endereço IP deve ser usado ao resolver nomes de servidor. Isto é interessante somente ao usar nomes de servidor resolvam endereços usando mais que uma versão de IP. Defina para uma das constantes CURL_IPRESOLVE_*. O padrão é CURL_IPRESOLVE_WHATEVER. Disponível a partir do cURL 7.10.8.

CURLOPT_ISSUERCERT (int)

Se definida como uma string nomeando um arquivo que contém um certificado CA no formato PEM, uma verificação adicional no certificado de mesmo nível é executada para verificar se o emissor é de fato aquele associado ao certificado fornecido pela opção. Para que o resultado da verificação seja considerado uma falha, esta opção deve ser utilizada em combinação com a opção CURLOPT_SSL_VERIFYPEER. Disponível a partir do cURL 7.19.0.

CURLOPT_ISSUERCERT_BLOB (int)

Passe uma string com dados binários de um certificado de CA SSL no formato PEM. Se definida, uma verificação adicional do certtificado do par é realizada para verificar se o emissor é o associado com o certificado fornecido pela opção. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_KEEP_SENDING_ON_ERROR (int)

Defina como true para continuar enviando o corpo da requisição se o código HTTP retornado for igual ou maior que 300. A ação padrão seria parar o envio e fechar o fluxo ou a conexão. Adequado para autenticação NTLM manual. A maior parte das aplicações não precisa desta opção. Disponível a partir do PHP 7.3.0 e cURL 7.51.0.

CURLOPT_KEYPASSWD (int)

Aceita uma string com a senha requerida para usar a chave privada CURLOPT_SSLKEY ou CURLOPT_SSH_PRIVATE_KEYFILE. Definir esta opção para null desabilita o uso de uma senha para estas opções. Disponível a partir do cURL 7.17.0.

CURLOPT_KRB4LEVEL (int)

O nível de segurança KRB4 (Kerberos 4). Qualquer dos valores string a seguir é válido (na ordem do menos para o mais potente): clear, safe, confidential, private. Se a string não corresponder a uma dessas opções, private é usada. Definir esta opção como null irá desabilitar a segurança KRB4. Atualmente, a segurança KRB4 funciona somente com transações FTP. Disponível a partir do cURL 7.3.0 e descontinuada a partir do cURL 7.17.0.

CURLOPT_KRBLEVEL (int)

Define o nível de segurança Kerberos para FTP e também habilita o reconhecimento de Kerberos. Isso deve ser definido como uma das seguintes strings: clear, safe, confidential, private. Se a string estiver definida, mas não corresponder a nenhuma delas, private será usada. Definir esta opção como null desativará o suporte Kerberos para FTP. O padrão é null. Disponível a partir do cURL 7.16.4.

CURLOPT_LOCALPORT (int)

Define o número da porta local do soquete usado para a conexão. Esta opção aceita qualquer valor que possa ser convertido em um int válido. O padrão é 0. Disponível a partir do cURL 7.15.2.

CURLOPT_LOCALPORTRANGE (int)

O número de tentativas que o cURL faz para encontrar um número de porta local funcional, começando com aquele definido com CURLOPT_LOCALPORT. Esta opção aceita qualquer valor que possa ser convertido em um int válido. O padrão é 1. Disponível a partir do cURL 7.15.2.

CURLOPT_LOGIN_OPTIONS (int)

Pode ser usada para definir opções de login específicas do protocolo, tal como o mecanismos preferível de autenticação via AUTH=NTLM ou AUTH=*, e deve ser usada em conjunto com a opção CURLOPT_USERNAME. Disponível a partir do PHP 7.0.7 e cURL 7.34.0.

CURLOPT_LOW_SPEED_LIMIT (int)

A velocidade de transferência, em bytes por segundo, em que a transferência deve ficar abaixo durante a contagem de CURLOPT_LOW_SPEED_TIME segundos antes que o PHP considere que a transferência está muito lenta e aborte. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.1.0.

CURLOPT_LOW_SPEED_TIME (int)

O número de segundos que a velocidade de transferência deve estar abaixo de CURLOPT_LOW_SPEED_LIMIT antes que o PHP considere a transferência muito lenta e aborte. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.1.0.

CURLOPT_MAIL_AUTH (int)

Define uma string com o endereço de autenticação (identidade) de uma mensagem enviada que está sendo retransmitida para outro servidor. O endereço não deve ser especificado entre parênteses angulares (><). Se uma string vazia for usada, um par de parênteses angulares será enviado pelo cURL conforme exigido pela RFC 2554. Disponível a partir do cURL 7.25.0.

CURLOPT_MAIL_FROM (int)

Define uma string com o endereço de e-mail do remetente ao enviar mensagens SMTP. O endereço de e-mail deve ser especificado entre parênteses angulares (><) ao redor dele, que se não forem especificados serão adicionados automaticamente. Se este parâmetro não for especificado, um endereço vazio será enviado ao servidor SMTP, o que poderá fazer com que o e-mail seja rejeitado. Disponível a partir do cURL 7.20.0.

CURLOPT_MAIL_RCPT (int)

Deve ser definida como um array de strings com os destinatários a serem passados ao servidor em uma solicitação de email SMTP. Cada destinatário deve ser especificado entre parênteses angulares (><). Se um parêntese angular não for usado como primeiro caractere, o cURL assumirá que um único endereço de e-mail foi fornecido e colocará esse endereço entre parênteses angulares. Disponível a partir do cURL 7.20.0.

CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)

Defina como 1 para permitir que o comando RCPT TO falhe para alguns destinatários, o que faz com que o cURL ignore erros para destinatários individuais e proceda com os destinatários aceitos remanescentes. Se todos os destinatários aivarem falhas e esta opção estiver especificada, o cURL aborta a conversação SMTP e retorna o erro recebido do último comando RCPT TO. Substituído pela CURLOPT_MAIL_RCPT_ALLOWFAILS a partir do cURL 8.2.0. Disponível a partir do PHP 8.2.0 e cURL 7.69.0. Descontinuada a partir do cURL 8.2.0.

CURLOPT_MAXAGE_CONN (int)

O tempo máximo ocioso permitido para que uma conexão existente possa ser considerada para reúso. O tempo máximo padrão é de 118 segundos. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do PHP 8.2.0 e cURL 7.65.0.

CURLOPT_MAXCONNECTS (int)

A quantidade máxima permitida de conexões persistentes. Quando o limite é atingido, a mais antiga no cache é fechada para evitar o aumento do número de conexões abertas. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.7.0.

CURLOPT_MAXFILESIZE (int)

Define o tamanho máximo aceito (em bytes) de um arquivo para recebimento. Se o arquivo solicitado for maior que esse valor, a transferência será abortada e CURLE_FILESIZE_EXCEEDED será retornado. Passar 0 desabilita esta opção, e passar um tamanho negativo retorna uma CURLE_BAD_FUNCTION_ARGUMENT. Se o tamanho do arquivo não for conhecido antes do início do recebimento, esta opção não terá efeito. Para definir um limite de tamanho acima de 2GB, CURLOPT_MAXFILESIZE_LARGE deve ser usada. A partir do cURL 8.4.0, esta opção também interrompe as transferências em andamento se atingirem esse limite. Esta opção aceita qualquer valor que possa ser convertido em um int válido. O padrão é 0. Disponível a partir do cURL 7.10.8.

CURLOPT_MAXFILESIZE_LARGE (int)

O tamanho máximo permitido para arquivo recebido. Se o arquivo requisitado for maior que este valor, a transferência não iniciará e CURLE_FILESIZE_EXCEEDED será retornada. O tamanho do arquivo nem sempre é conhecido antes da transferência, para esses casos esta opção não tem efeito mesmo que a transferência termine sendo maior que este limite informado. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do PHP 8.2.0 e cURL 7.11.0.

CURLOPT_MAXLIFETIME_CONN (int)

O tempo máximo em segundos, desde a criação da conexão, permitido para que uma conexão existente possa ser considerada para reúso. Se uma conexão no cache for mais antiga que este valor, ela será fechada assim que as transferências em progresso terminem. O padrão é 0 segundo, o que significa que a opção está desabilitada e todas as conexões são elegíveis para reúso. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do PHP 8.2.0 e cURL 7.80.0.

CURLOPT_MAXREDIRS (int)

A quantidade máxima de redirecionamentos HTTP a seguir. Esta opção deve ser usada junto com CURLOPT_FOLLOWLOCATION. O valor padrão de 20 está definido para evitar redirecionamentos infinitos. Definir para -1 permite redirecionamentos infinitos e 0 recusa todos os redirecionamentos. Disponível a partir do cURL 7.5.0.

CURLOPT_MAX_RECV_SPEED_LARGE (int)

Se um recebimento exceder esta velocidade (medida em bytes por segundo) na média cumulativa durante a transferência, ela será pausada para manter a média abaixo ou igual ao valor do parâmetro. O padrão é velocidade ilimitada. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.15.5.

CURLOPT_MAX_SEND_SPEED_LARGE (int)

Se um envio exceder esta velocidade (medida em bytes por segundo) na média cumulativa durante a transferência, ela será pausada para manter a média abaixo ou igual ao valor do parâmetro. O padrão é velocidade ilimitada. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.15.5.

CURLOPT_MIME_OPTIONS (int)

Defina como uma máscara de bits das constantes CURLMIMEOPT_*. Atualmente, há apenas uma opção disponível: CURLMIMEOPT_FORMESCAPE. Disponível a partir do PHP 8.3.0 e cURL 7.81.0.

CURLOPT_MUTE (int)

Defina como true para manter silêncio completo no que se refere às funções cURL. Use CURLOPT_RETURNTRANSFER em seu lugar. Disponível a partir do cURL 7.1.0, descontinuada a partir do cURL 7.8.0 e pela última vez disponível no cURL 7.15.5. Removida a partir do PHP 7.3.0.

CURLOPT_NETRC (int)

Defina como true para ler o arquivo ~/.netrc buscando usuário e senha para o servidor remoto com o qual a conexão está sendo estabelecida. Disponível a partir do cURL 7.1.0.

CURLOPT_NETRC_FILE (int)

Define uma string contendo o nome completo do caminho para um arquivo .netrc. Se esta opção for omitida e CURLOPT_NETRC estiver definida, o cURL verificará se há um arquivo .netrc no diretório inicial do usuário atual. Disponível a partir do cURL 7.11.0.

CURLOPT_NEW_DIRECTORY_PERMS (int)

Configura o valor das permissões (int) definidas nos diretórios recém-criados no servidor remoto. O valor padrão é 0755. Os únicos protocolos que podem usar isso são sftp://, scp:// e file://. Disponível a partir do cURL 7.16.4.

CURLOPT_NEW_FILE_PERMS (int)

Configura o valor das permissões (como um int) que são definidas em arquivos recém-criados no servidor remoto. O valor padrão é 0644. Os únicos protocolos que podem usar isso são sftp://, scp:// e file://. Disponível a partir do cURL 7.16.4.

CURLOPT_NOBODY (int)

Defina como true para excluir o corpo da saída. Para HTTP(S), o cURL faz uma requisição HEAD. Para quase todos os outros protocolos, o cURL não solicita os dados do corpo de nenhuma forma. Alterar esta opção para false resultará na inclusão dos dados do corpo na saída. Disponível a partir do cURL 7.1.0.

CURLOPT_NOPROGRESS (int)

Defina como true para desabilitar a medição de progresso para transferências cURL.

Nota:

O PHP define automaticamente esta opção para true, ela só deve ser alterada para depuração.

Disponível a partir do cURL 7.1.0.

CURLOPT_NOPROXY (int)

Define uma string que consiste em uma lista separada por vírgulas de nomes de servidor que não requerem um proxy para serem acessados. Cada nome nesta lista é correspondido como um domínio que contém o nome do servidor ou como o próprio nome do servidor. O único coringa disponível na string é um único caractere * que corresponde a todos os servidores, desativando efetivamente o proxy. Definir esta opção como uma string vazia habilita o proxy para todos os nomes de servidor. Desde o cURL 7.86.0, os endereços IP definidos com esta opção podem ser fornecidos usando a notação CIDR. Disponível a partir do cURL 7.19.4.

CURLOPT_NOSIGNAL (int)

true para ignorar qualquer função cURL que faça com que um sinal seja enviado ao processo PHP. Ligado por padrão em SAPIs multi-thread para que opções de limite de tempo ainda possam ser usadas. Disponível a partir do cURL 7.10.

CURLOPT_PASSWDFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(resource $curlHandle, string $passwordPrompt, int $maximumPasswordLength): string
curlHandle
O identificador cURL.
passwordPrompt
Uma string contendo um texto solicitando senha.
maximumPasswordLength
Comprimento máximo da senha.
A função deve retornar uma string contendo a senha. Disponível a partir do cURL 7.4.2, descontinuada a partir do cURL 7.11.1 e pela última vez disponível no cURL 7.15.5. Removida a partir do PHP 7.3.0.

CURLOPT_PASSWORD (int)

Aceita uma string com a senha a ser usada na autenticação. Disponível a partir do cURL 7.19.1.

CURLOPT_PATH_AS_IS (int)

Defina como true para que o cURL não altere caminhos URL antes de encaminhá-los ao servidor. O padrão é false, que resolve as expressões /../ ou /./ que possam existir na parte do caminho da URL que deveriam ser removidas de acordo com a RFC 3986 seção 5.2.4. Disponível a partir do PHP 7.0.7 e cURL 7.42.0.

CURLOPT_PINNEDPUBLICKEY (int)

Define uma string com a chave pública fixada. A string pode ser o nome do arquivo da chave pública fixada no formato PEM ou DER. A string também pode ser qualquer número de hashes sha256 codificadas em base 64 precedidas por sha256// e separadas por ;. Disponível a partir do PHP 7.0.7 e cURL 7.39.0.

CURLOPT_PIPEWAIT (int)

Defina como true para esperar que uma conexão existente confirme que pode fazer multiplexação e fazer uso dela, antes de criar e utilizar uma nova conexão. Disponível a partir do PHP 7.0.7 e cURL 7.43.0

CURLOPT_PORT (int)

Um int com um número alternativo de porta para conexão ao invés da porta especificada na URL ou da porta padrão para o protocolo usado. Disponível a partir do cURL 7.1.0.

CURLOPT_POST (int)

Defina como true para fazer uma requisição POST HTTP. Esta requisição usa o cabeçalho application/x-www-form-urlencoded. O padrão é false. Disponível a partir do cURL 7.1.0.

CURLOPT_POSTFIELDS (int)

Os dados completos para enviar em uma operação POST HTTP. Este parâmetro pode ser passado como uma string codificada em URL como 'para1=val1&para2=val2&...' ou como um array com o nome do campo como chave e o dado do campo como valor. Se value for um array, o cabeçalho Content-Type será definido para multipart/form-data. Arquivos podem ser enviados usando CURLFile ou CURLStringFile, onde value precisa ser um array. Disponível a partir do cURL 7.1.0.

CURLOPT_POSTQUOTE (int)

Um array de strings de comandos FTP a executar no servidor depois que a requisição FTP tenha sido realizada. Disponível a partir do cURL 7.1.0.

CURLOPT_POSTREDIR (int)

Uma máscara de bits de CURL_REDIR_POST_301, CURL_REDIR_POST_302 e CURL_REDIR_POST_303 se o método POST HTTP deve ser mantido quando CURLOPT_FOLLOWLOCATION estiver definida e um tipo específico de redirecionamento ocorrer. Disponível a partir do cURL 7.19.1.

CURLOPT_PRE_PROXY (int)

Define uma string contendo o nome do servidor ou endereço IP numérico com pontos a ser usado como o pré-proxy ao qual o cURL se conecta antes de se conectar ao proxy HTTP(S) especificado na opção CURLOPT_PROXY para a próxima requisição. O pré-proxy somente pode ser um proxy SOCKS e deve ser prefixado com [esquema]:// para especificar que tipo de socks é utilizado. Um endereço numérico IPv6 precisa ser escrito entre [colchetes]. Definir o pré-proxy para uma string vazia desabilita explicitamente o uso de um pré-proxy. Para especificar o número da porta nesta string, adicione :[porta] ao final do nome do servidor. O número da porta do proxy opcionalmente pode ser especificado coma opção separada CURLOPT_PROXYPORT. O padrão é usar a porta 1080 para proxies se não for especificada. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PREQUOTE (int)

Define um array de strings de comandos FTP a serem passados ao servidor depois que o tipo de transferência for definido. Esses comandos não são executados quando uma listagem de diretórios é realizada, apenas para transferências de arquivos. Disponível a partir do cURL 7.9.5.

CURLOPT_PRIVATE (int)

Quaisquer dados que devem ser associados com este identificador cURL. Estes dados podem ser recuperados subsequentemente com a opção CURLINFO_PRIVATE de curl_getinfo(). cURL não faz nada com estes dados. Ao usar um multi-identificador cURL, estes dados privados são tipicamente uma chave única para identificar um identificador cURL padrão. Disponível a partir do cURL 7.10.3.

CURLOPT_PROGRESSFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(
    resource $curlHandle,
    int $bytesToDownload,
    int $bytesDownloaded,
    int $bytesToUpload,
    int $bytesUploaded
): int
curlHandle
O identificador cURL.
bytesToDownload
O número total de bytes esperados no recebimento desta transferência.
bytesDownloaded
O número de bytes já recebidos.
bytesToUpload
O número total de bytes esperados no envio desta transferência.
bytesUploaded
O número de bytes já enviados.
A função deve retornar um int com um valor diferente de zero para abortar a transferência e definir um erro CURLE_ABORTED_BY_CALLBACK.

Nota:

A função de retorno é chamada somente quando a opção CURLOPT_NOPROGRESS estiver definida para false.

Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.32.0. Use CURLOPT_XFERINFOFUNCTION em seu lugar.

CURLOPT_PROTOCOLS (int)

Uma máscara de bits de valores CURLPROTO_*. Se usada, esta máscara limita que protocolos a libcurl pode usar na transferência. O padrão é CURLPROTO_ALL, ou seja, o cURL aceitará todos os protocolos suportados. Consulte também CURLOPT_REDIR_PROTOCOLS. Disponível a partir do cURL 7.19.4 e descontinuada a partir do cURL 7.85.0.

CURLOPT_PROTOCOLS_STR (int)

Defina para uma string com uma lista de nomes de protocolos (esquemas de URL) a serem permitidos na transferência, separados por vírgula, insensíveis a maiúsculas/minúsculas. Defina como ALL para habilitar todos os protocolos. Por padrão, o cURL aceita todos os protocolos com os quais foi compilado para suportar. Os protocolos disponíveis são: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS, WSS. Disponível a partir do PHP 8.3.0 e do cURL 7.85.0.

CURLOPT_PROXY (int)

Uma string com o proxy HTTP através do qual as requisições serão enviadas. Deve ser o nome do host, o endereço IP numérico com pontos ou um endereço IPv6 numérico escrito entre [colchetes]. Disponível a partir do cURL 7.1.0.

CURLOPT_PROXYAUTH (int)

Uma máscara de bits dos método(s) de autenticação (constantes CURLAUTH_*) para usar na conexão ao proxy. Para autenticação no proxy, somente CURLAUTH_BASIC e CURLAUTH_NTLM são suportadas atualmente. O padrão é CURLAUTH_BASIC. Disponível a partir do cURL 7.10.7.

CURLOPT_PROXYHEADER (int)

Um array de strings de cabeçalhos HTTP customizados para passar aos proxies. Disponível a partir do PHP 7.0.7 e cURL 7.37.0.

CURLOPT_PROXYPASSWORD (int)

Define uma string com a senha a ser usada para autenticação com o proxy. Disponível a partir do cURL 7.19.1.

CURLOPT_PROXYPORT (int)

Um int com o número da porta do proxy para conexão. Este número de porta também pode ser definido em CURLOPT_PROXY. Definir como zero faz com que o cURL use o número de porta do proxy padrão ou o número de porta especificado na string do URL do proxy. Disponível a partir do cURL 7.1.0.

CURLOPT_PROXYTYPE (int)

Define o tipo do proxy, que pode ser uma das constantes CURLPROXY_*. O padrão é CURLPROXY_HTTP. Disponível a partir do cURL 7.10.

CURLOPT_PROXYUSERNAME (int)

Define uma string com o nome de usuário a ser usado para autenticação com o proxy. Disponível a partir do cURL 7.19.1.

CURLOPT_PROXYUSERPWD (int)

Uma string com usuário e senha formatados como [usuário]:[senha] para usar na conexão ao proxy. Disponível a partir do cURL 7.1.0.

CURLOPT_PROXY_CAINFO (int)

O caminho para o pacote de Certificados de Autoridade (CA) do proxy. Defina o caminho como uma string com o nome do arquivo que contém um ou mais certificados com os quais o prohy HTTPS será verificado. Esta opção é para conexão a um proxy HTTPS, não a um servidor HTTPS. O padrão é o caminho do sistema onde espera-se que o pacote de certificados CA do cURL esteja armazenado. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_CAINFO_BLOB (int)

Uma string com o nome de um arquivo PEM contendo um ou mais certificados com os quais o proxy HTTPS será verificado. Esta opção é para conexão a um proxy HTTPS, não a um servidor HTTPS. O padrão é o caminho do sistema onde espera-se que o pacote de certificados CA do cURL esteja armazenado. Disponível a partir do PHP 8.2.0 e cURL 7.77.0.

CURLOPT_PROXY_CAPATH (int)

Uma string com o diretório que contém múltiplos certificados CA com os quais o proxy HTTPS será verificado. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_CRLFILE (int)

Defina como uma string com o nome do arquivo com a concatenação de CRL (Lista de Revogação de Certificado) no formato PEM a ser usado na validação de certificado que ocorre durante a troca de informações SSL. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_ISSUERCERT (int)

Uma string com o nome do arquivo do certificado SSL do emissor do proxy. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_ISSUERCERT_BLOB (int)

Uma string com o certificado SSL do emissor do proxy. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_KEYPASSWD (int)

Define a string a ser usada como a senha necessária para usar a chave privada CURLOPT_PROXY_SSLKEY. Nunca é necessária uma senha para carregar um certificado, mas será necessária uma para carregar a chave privada. Esta opção é para conexão a um proxy HTTPS, não a um servidor HTTPS. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_PINNEDPUBLICKEY (int)

Define a chave pública fixada para o proxy HTTPS. A string pode ser o nome do arquivo da chave pública fixada com formato esperado de PEM ou DER. A string também pode ser qualquer número de hashes sha256 codificados em base64 precedidas por sha256// e separadas por ;. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SERVICE_NAME (int)

Uma string com o nome do serviço de autenticação de proxy. Disponível a partir do PHP 7.0.7, cURL 7.43.0 (para proxies HTTP) e cURL 7.49.0 (para proxies SOCKS5).

CURLOPT_PROXY_SSLCERT (int)

Uma string com o nome do arquivo do certificado de cliente usado para conectar-se ao proxy HTTPS. O formato padrão é P12 no Transporte Seguro e PEM em outros mecanismos, e pode ser alterado com CURLOPT_PROXY_SSLCERTTYPE. Com NSS ou Transporte Seguro, este também pode ser o apelido do certificado usado para autenticação, conforme nomeado no banco de dados de segurança. Se for pretendido usar um arquivo do diretório atual, deve ser precedido por ./ para evitar confusão com um apelido. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSLCERTTYPE (int)

Uma string com o formato do certificado de cliente usado ao conectar-se a um proxy HTTPS. Os formatos suportados são PEM e DER, exceto com Transporte Seguro. OpenSSL (versões 0.9.3 e posteriores) e Transporte Seguro (no iOS 5 ou posterior, ou OS X 10.7 ou posterior) também suportam P12 para arquivos codificados em PKCS#12. O padrão é PEM. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSLCERT_BLOB (int)

Uma string com o certificado de cliente do proxy SSL. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_SSLKEY (int)

Uma string com o nome do arquivo da chave privada usada para conexão com o proxy HTTPS. O formato padrão é PEM e pode ser alterado com CURLOPT_PROXY_SSLKEYTYPE. (somente iOS e Mac OS X) Esta opção será ignorada se o cURL tiver sido compilado com Transporte Seguro. Disponível se compilado com TLS habilitado. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSLKEYTYPE (int)

Uma string com o formato da chave privada. Os formatos suportados são: PEM, DER, ENG. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSLKEY_BLOB (int)

Uma string com a chave privada para conexão ao proxy HTTPS. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_SSLVERSION (int)

Define a versão do TLS do proxy HTTPS para uma das constantes CURL_SSLVERSION_*. O padrão é CURL_SSLVERSION_DEFAULT.

Aviso

É melhor não definir esta opção e deixar o padrão CURL_SSLVERSION_DEFAULT que tentará descobrir a versão do protocolo SSL remoto.

Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSL_CIPHER_LIST (int)

Uma string com a lista de cifras, separadas por dois-pontos (:), a serem usadas para a conexão com o proxy HTTPS. Quando usada com OpenSSL, vírgulas ou espaços também são separadores aceitáveis e !, - e + podem ser usados ​​como operadores. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSL_OPTIONS (int)

Define as opções de comportamento do proxy SSL, que é uma máscara de bits das constantes CURLSSLOPT_*. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSL_VERIFYHOST (int)

Defina como 2 para verificar os campos de nome do certificado do proxy HTTPS em relação ao nome do proxy. Quando definido como 0 a conexão é bem-sucedida independentemente dos nomes usados ​​no certificado. Use essa capacidade com cuidado! Se definida como 1 no cURL 7.28.0 e versões anteriores, serve como uma opção de depuração. Se definida como 1 no cURL 7.28.1 ao 7.65.3, a constante CURLE_BAD_FUNCTION_ARGUMENT é retornada. A partir do cURL 7.66.0, 1 e 2 são tratados como o mesmo valor. O padrão é 2. Em ambientes de produção, o valor desta opção deve ser mantido em 2. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_SSL_VERIFYPEER (int)

Defina como false para impedir que o cURL verifique o certificado do par. Certificados alternativos para verificação podem ser especificados com a opção CURLOPT_CAINFO ou um diretório de certificado pode ser especificado com a opção CURLOPT_CAPATH. Quando definida como false, a verificação do certificado será sempre bem-sucedida. true é o padrão. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_TLS13_CIPHERS (int)

Uma string com a lista de conjuntos de criptografia a serem usados ​​para a conexão TLS 1.3 com um proxy. Esta opção é usada atualmente apenas quando o cURL é compilado para usar OpenSSL 1.1.1 ou posterior. Se um SSL diferente estiver sendo usado, os conjuntos de criptografia TLS 1.3 podel ser configurados com a opção CURLOPT_PROXY_SSL_CIPHER_LIST. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.

CURLOPT_PROXY_TLSAUTH_PASSWORD (int)

Uma string com a senha a ser usada para o método de autenticação TLS especificado com a opção CURLOPT_PROXY_TLSAUTH_TYPE. Requer que a opção CURLOPT_PROXY_TLSAUTH_USERNAME também esteja definida. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_TLSAUTH_TYPE (int)

O método de autenticação TLS usado para a conexão HTTPS. O método suportado é SRP.

Nota:

A autenticação Secure Remote Password (SRP) para TLS fornece autenticação mútua se ambos os lados tiverem um segredo compartilhado. Para usar TLS-SRP, as opções CURLOPT_PROXY_TLSAUTH_USERNAME e CURLOPT_PROXY_TLSAUTH_PASSWORD também precisam ser definidas.

Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_TLSAUTH_USERNAME (int)

O usuário a ser usado para o método de autenticação TLS especificado com a opção CURLOPT_PROXY_TLSAUTH_TYPE. Requer que a opção CURLOPT_PROXY_TLSAUTH_PASSWORD também esteja definida. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.

CURLOPT_PROXY_TRANSFER_MODE (int)

Quando igual a 1, define o modo de transferência (binário ou ASCII) para transferências FTP feitas através de um proxy HTTP, anexando type=a ou type=i ao URL. Sem esta configuração ou definida como 0, CURLOPT_TRANSFERTEXT não tem efeito ao fazer FTP através de um proxy. O padrão é 0. Disponível a partir do cURL 7.18.0.

CURLOPT_PUT (int)

true para usar o método PUT HTTP para um arquivo. O arquivo precisa ser definido com CURLOPT_READDATA e CURLOPT_INFILESIZE. Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.12.1.

CURLOPT_QUICK_EXIT (int)

Defina como true para o cURL ignorar a etapa de limpeza de recursos ao recuperar de um limite de tempo excedido. Isto permite um encerramento rápido do processo cURL às custas de um possível vazamento de recursos associados. Disponível a partir do PHP 8.3.0 e cURL 7.87.0.

CURLOPT_QUOTE (int)

Um array de strings de comandos FTP a executar no servidor antes da requisição FTP. Disponível a partir do cURL 7.1.0.

CURLOPT_RANDOM_FILE (int)

Uma string com o nome do arquivo a ser usado para semear o gerador de números aleatórios para o SSL. Disponível a partir do cURL 7.7.0 e descontinuada a partir do cURL 7.84.0.

CURLOPT_RANGE (int)

Uma string com o(s) intervalo(s) de dados a serem recuperados no formato X-Y onde X ou Y são opcionais. Transferências HTTP também suportam vários intervalos, separados por vírgulas no formato X-Y,N-M. Defina como null para desabilitar a requisição de um intervalo de bytes. Disponível a partir do cURL 7.1.0.

CURLOPT_READDATA (int)

Define um ponteiro de arquivo do tipo resource que será usado pela função de leitura de arquivo definida com CURLOPT_READFUNCTION. Disponível a partir do cURL 7.9.7.

CURLOPT_READFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(resource $curlHandle, resource $streamResource, int $maxAmountOfDataToRead): string
curlHandle
O identificador cURL.
streamResource
resource de fluxo fornecido ao cURL através da opção CURLOPT_READDATA.
maxAmountOfDataToRead
A quantidade máxima de dados a serem lidos.
A função deve retornar uma string com comprimento igual ou menor que a quantidade de dados solicitados, normalmente lendo-a do resource de fluxo passado. Deve retornar uma string vazia para sinalizar EOF. Disponível a partir do cURL 7.1.0.

CURLOPT_REDIR_PROTOCOLS (int)

Máscara de bits de valores CURLPROTO_* que limita quais protocolos o cURL pode usar em uma transferência que segue um redirecionamento quando CURLOPT_FOLLOWLOCATION está habilitado. Isso permite limitar transferências específicas para usar apenas um subconjunto de protocolos em redirecionamentos. A partir do cURL 7.19.4, por padrão o cURL permitirá todos os protocolos, exceto FILE e SCP. Antes do cURL 7.19.4, o cURL seguiria incondicionalmente todos os protocolos suportados. Veja também CURLOPT_PROTOCOLS para valores constantes de protocolo. Disponível a partir do cURL 7.19.4 e descontinuada a partir do cURL 7.85.0.

CURLOPT_REDIR_PROTOCOLS_STR (int)

Defina como uma string com uma lista de nomes de protocolos (esquemas URL), insensíveis a maiúsculas/minúsculas, separados por vírgulas, para permitir o seguimento de um redirecionamento quando CURLOPT_FOLLOWLOCATION estiver habilitada. Defina como ALL para habilitar todos os protocolos. A partir do cURL 7.65.2, o padrão é FTP, FTPS, HTTP e HTTPS. Do cURL 7.40.0 até o 7.65.1, o padrão são todos os protocolos exceto FILE, SCP, SMB e SMBS. Antes do cURL 7.40.0, o padrão são todos os protocolos exceto FILE e SCP. Os protocolos disponíveis são: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS, WSS. Disponível a partir do PHP 8.3.0 e cURL 7.85.0.

CURLOPT_REFERER (int)

Uma string com o conteúdo do cabeçalho Referer: a ser usado em uma requisição HTTP. Disponível a partir do cURL 7.1.0.

CURLOPT_REQUEST_TARGET (int)

Uma string a ser usada na próxima requisição em vez do caminho extraído do URL. Disponível a partir do PHP 7.3.0 e cURL 7.55.0.

CURLOPT_RESOLVE (int)

Forneça um array de strings com endereços personalizados separados por dois-pontos para um par específico de servidor e porta no formato: array( "example.com:80:127.0.0.1", "example2.com:443:127.0.0.2", ) Disponível a partir do cURL 7.21.3.

CURLOPT_RESUME_FROM (int)

O deslocamento, em bytes, a partir do qual uma transferência deve ser retomada. Esta opção aceita qualquer valor que possa ser convertido para um int válido. Disponível a partir do cURL 7.1.0.

CURLOPT_RETURNTRANSFER (int)

true para retornar a transferência como uma string do valor de retorno de curl_exec() em vez de enviá-la diretamente.

CURLOPT_RTSP_CLIENT_CSEQ (int)

Define um int com o número CSEQ a ser emitido para a próxima solicitação RTSP. Útil se o aplicativo estiver retomando uma conexão interrompida anteriormente. O CSEQ é inrementado a partir deste novo número. O padrão é 0. Disponível a partir do cURL 7.20.0.

CURLOPT_RTSP_REQUEST (int)

Define o tipo de solicitação RTSP a ser feita. Deve ser uma das constantes CURL_RTSPREQ_*. Disponível a partir do cURL 7.20.0.

CURLOPT_RTSP_SERVER_CSEQ (int)

Define um int com o número CSEQ esperado para a próxima solicitação do servidor RTSP para o cliente. Este recurso (escutar solicitações do servidor) não está implementado. O padrão é 0. Disponível a partir do cURL 7.20.0.

CURLOPT_RTSP_SESSION_ID (int)

Defina uma string com o valor do ID da sessão RTSP atual para o identificador. Depois que esse valor for definido como qualquer valor não null, o cURL retornará CURLE_RTSP_SESSION_ERROR se o ID recebido do servidor não corresponder. Se definido como null, o cURL define automaticamente o ID na primeira vez que o servidor o define em uma resposta. O padrão é null. Disponível a partir do cURL 7.20.0.

CURLOPT_RTSP_STREAM_URI (int)

Define uma string com o URI do stream para operar. Se não for definido, o padrão do cURL é operar em opções genéricas do servidor, passando * no lugar do URI do fluxo RTSP. Ao trabalhar com RTSP, CURLOPT_RTSP_STREAM_URI indica qual URL enviar ao servidor no cabeçalho da solicitação enquanto CURLOPT_URL indica onde a conexão deve ser feita. Disponível a partir do cURL 7.20.0.

CURLOPT_RTSP_TRANSPORT (int)

Define o cabeçalho Transport: para esta sessão RTSP. Disponível a partir do cURL 7.20.0.

CURLOPT_SAFE_UPLOAD (int)

Sempre true, o que desativa o suporte ao prefixo @ para envio de arquivos em CURLOPT_POSTFIELDS, o que significa que valores começando com @ podem ser passados ​ ​com segurança como campos. CURLFile pode ser usada para envios.

CURLOPT_SASL_AUTHZID (int)

A string de identidade de autorização (autzid) para a transferência. Aplicável apenas ao mecanismo de autenticação PLAIN SASL onde é opcional. Quando não especificada, apenas a identidade de autenticação (authcid) especificada pelo nome de usuário será enviada ao servidor, juntamente com a senha. O servidor derivará o authzid do authcid quando não for fornecido, que será usado internamente. Disponível a partir do PHP 8.2.0 e cURL 7.66.0.

CURLOPT_SASL_IR (int)

true para habilitar o envio da resposta inicial no primeiro pacote. Disponível a partir do PHP 7.0.7 e cURL 7.31.0.

CURLOPT_SERVICE_NAME (int)

Uma string com o nome do serviço de autenticação. Disponível a partir do PHP 7.0.7 e cURL 7.43.0.

CURLOPT_SHARE (int)

Um resultado de curl_share_init(). Faz com que o identificador cURL use os dados do identificador compartilhado. Disponível a partir do cURL 7.10.

CURLOPT_SOCKS5_AUTH (int)

Os métodos de autenticação SOCKS5 a serem utilizados. As opções são: CURLAUTH_BASIC, CURLAUTH_GSSAPI, CURLAUTH_NONE. Quando mais de um método estiver definido, o cURL irá interrogar o servidor para ver que métodos ele suporta, e escolherá o melhor. O padrão é CURLAUTH_BASIC|CURLAUTH_GSSAPI. Defina o usuário e senha reais com a opção CURLOPT_PROXYUSERPWD. Disponível a partir do PHP 7.3.0 e cURL 7.55.0.

CURLOPT_SOCKS5_GSSAPI_NEC (int)

Definida como 1 habilita, e como 0 desabilita, a troca desprotegida da negociação do modo de proteção como parte da negociação GSSAPI. Disponível a partir do cURL 7.19.4.

CURLOPT_SOCKS5_GSSAPI_SERVICE (int)

Define uma string contendo o nome do serviço SOCKS5. O padrão é rcmd Disponível a partir do cURL 7.19.4 e defasada a partir do cURL 7.49.0. Use CURLOPT_PROXY_SERVICE_NAME em seu lugar.

CURLOPT_SSH_AUTH_TYPES (int)

Uma máscara de bits que consiste de uma ou mais das seguintes constantes: CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD, CURLSSH_AUTH_AGENT, CURLSSH_AUTH_ANY. O padrão é CURLSSH_AUTH_ANY. Disponível a partir do cURL 7.16.1.

CURLOPT_SSH_COMPRESSION (int)

true para habilitar, false para desabilitar a compactação SSH interna. Observe que o servidor pode desconsiderar esta requisição. O padrão é false Disponível a partir do PHP 7.3.0 e cURL 7.56.0.

CURLOPT_SSH_HOSTKEYFUNCTION (int)

Uma função do tipo callable que será chamada quando a verificação de chave do host SSH for necessária. A função precisa ter a seguinte assinatura:

callback(
    resource $curlHandle,
    int $keyType,
    string $key,
    int $keyLength
): int
curlHandle
O identificador cURL.
keyType
Um dos tipos de chave CURLKHTYPE_*.
key
A chave a ser verificada.
keyLength
O comprimento da chave em bytes.
Esta função substitui CURLOPT_SSH_KNOWNHOSTS. Disponível a partir do PHP 8.3.0 e cURL 7.84.0.

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (int)

Uma string contendo 32 dígitos hexadecimais que deve conter a soma de verificação MD5 da chave pública do servidor remoto, e o cURL rejeitará a conexão com o servidor, a menos que as somas correspondam. Esta opção é apenas para transferências SCP e SFTP. Disponível a partir do cURL 7.17.1.

CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (int)

Uma string com o hash SHA256 codificado em base64 da chave pública do servidor remoto. A transferência falhará se o hash fornecido não corresponder ao hash fornecido pelo servidor remoto. Disponível a partir do PHP 8.2.0 e cURL 7.80.0.

CURLOPT_SSH_KNOWNHOSTS (int)

Deve ser definida como o nome do arquivo known_host a ser usado, que deve usar o formato de arquivo OpenSSH conforme suportado pela libssh2. Disponível a partir do cURL 7.19.6.

CURLOPT_SSH_PRIVATE_KEYFILE (int)

O nome do arquivo com a chave privada. Se não for usado, o padrão do cURL é $HOME/.ssh/id_dsa se a variável de ambiente HOME estiver definida, e apenas id_dsa no diretório atual se HOME não estiver definida. Se o arquivo estiver protegido por senha, defina a senha com CURLOPT_KEYPASSWD. Disponível a partir do cURL 7.16.1.

CURLOPT_SSH_PUBLIC_KEYFILE (int)

O nome do arquivo com a chave pública. Se não for usado, o padrão do cURL é $HOME/.ssh/id_dsa.pub se a variável de ambiente HOME estiver definida, e apenas id_dsa.pub no diretório atual se HOME não estiver definida. Disponível a partir do cURL 7.16.1.

CURLOPT_SSLCERT (int)

O nome de um arquivo que contém um certificado no formato PEM. Disponível a partir do cURL 7.1.0.

CURLOPT_SSLCERTPASSWD (int)

A senha requerida para usar o certificado CURLOPT_SSLCERT. Disponível a partir do cURL 7.1.0 e descontinuada a partir do cURL 7.17.0.

CURLOPT_SSLCERTTYPE (int)

Uma string com o formato do certificado. Os formatos suportados são: PEM, DER, ENG, P12. A partir do OpenSSL 0.9.3, o formato P12 (para arquivos codificados em PKCS#12) está disponível. O padrão é PEM. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLCERT_BLOB (int)

Uma string com o certificado de cliente SSL do blob de memória. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_SSLENGINE (int)

Uma string com o identificador do mecanismo de criptografia da chave SSL privada especificada em CURLOPT_SSLKEY. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLENGINE_DEFAULT (int)

Uma string com o identificador do mecanismo de criptografia usado para operações de criptografia assimétricas. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLKEY (int)

O nome de um arquivo que contém uma chave SSL privada. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLKEYPASSWD (int)

A senha secreta necessária para usar a chave SSL privada especificada em CURLOPT_SSLKEY.

Nota:

Como esta opção contém uma senha confidencial, lembre-se de manter seguro o script PHP que a contém.

Disponível a partir do cURL 7.9.3 e descontinuada a partir do cURL 7.17.0.

CURLOPT_SSLKEYTYPE (int)

O tipo de chave da chave SSL privada especificada em CURLOPT_SSLKEY. Tipos de chave suportados são: PEM, DER, ENG. O padrão é PEM. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLKEY_BLOB (int)

Uma string com a chave privada para certificado de cliente do blob de memória. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_SSLVERSION (int)

Uma das constantes CURL_SSLVERSION_*.

Aviso

É melhor não definir esta opção e deixar no padrão, já que definir para CURL_SSLVERSION_SSLv2 ou CURL_SSLVERSION_SSLv3 é bastante perigoso, dadas as vulnerabilidades conhecidas no SSLv2 e no SSLv3.

O padrão é CURL_SSLVERSION_DEFAULT. Disponível a partir do cURL 7.1.0.

CURLOPT_SSL_CIPHER_LIST (int)

Uma string com uma lista de cifras separadas por dois-pontos, a serem usadas para a conexão TLS 1.2 (1.1, 1.0). Disponível a partir do cURL 7.9.

CURLOPT_SSL_EC_CURVES (int)

Uma lista delimitada por dois pontos de algoritmos de curva elíptica. Por exemplo, X25519:P-521 é uma lista válida de duas curvas elípticas. Esta opção define os algoritmos de troca de chaves do cliente na comunicação inicial do SSL, se o SSL com o qual o cURL foi compilado suportá-los. Disponível a partir do PHP 8.2.0 e cURL 7.73.0.

CURLOPT_SSL_ENABLE_ALPN (int)

false para desabilitar o ALPN na comunicação inicial do SSL (se o SSL com o qual o cURL foi compilado suportá-lo), que pode ser usado para negociar HTTP2. Disponível a partir do PHP 7.0.7 e do cURL 7.36.0 e descontinuada a partir do cURL 7.86.0.

CURLOPT_SSL_ENABLE_NPN (int)

false para desabilitar o NPN na comunicação inicial do SSL (se o SSL com o qual a libcurl foi compilada suportá-lo), que pode ser usado para negociar HTTP2. Disponível a partir do PHP 7.0.7 e cURL 7.36.0.

CURLOPT_SSL_FALSESTART (int)

true para habilitar e false para desabilitar o início falso do TLS que é um modo onde um cliente TLS inicia o envio de dados da aplicação antes de verificar a mensagem Finished do servidor. Disponível a partir do PHP 7.0.7 e cURL 7.42.0.

CURLOPT_SSL_OPTIONS (int)

Define as opções de comportamento do SSL, que é uma máscara de bits das constantes CURLSSLOPT_*. O padrão é nenhum bit definido. Disponível a partir do PHP 7.0.7. e cURL 7.25.0.

CURLOPT_SSL_SESSIONID_CACHE (int)

Definida como 0 desativa, e como 1 ativa o cache de ID de sessão SSL. Por padrão todas as transferências são feitas usando o cache habilitado. Disponível a partir do cURL 7.16.0.

CURLOPT_SSL_VERIFYHOST (int)

2 para verificar que um campo "Common Name" ou um campo "Subject Alternate Name" no certificado SSL corresponde ao nome de servidor informado. 0 para não verificar os nomes. 1 não deve ser usado. Em ambientes de produção o valor para esta opção deve ser mantido em 2 (valor padrão). Suporte para o valor 1 foi removido no cURL 7.28.1. Disponível a partir do cURL 7.8.1.

CURLOPT_SSL_VERIFYPEER (int)

false para impedir o cURL de verificar o certificado do servidor. Certificados alternativos para verificar podem ser especificados com a opção CURLOPT_CAINFO ou um diretório de certificados pode ser especificado com a opção CURLOPT_CAPATH. true é o padrão a partir do cURL 7.10. Pacote padrão de certificados CA instalado a partir do cURL 7.10. Disponível a partir do cURL 7.4.2.

CURLOPT_SSL_VERIFYSTATUS (int)

true para habilitar e false para desabilitar a verificação do status do certificado. Disponível a partir do PHP 7.0.7 e cURL 7.41.0.

CURLOPT_STDERR (int)

Aceita um identificador de arquivo do tipo resource apontando para uma localização alternativa para enviar os erros no lugar de STDERR. Disponível a partir do cURL 7.1.0.

CURLOPT_STREAM_WEIGHT (int)

Define o peso numérico do fluxo (um número entre 1 e 256). Disponível a partir do PHP 7.0.7 e cURL 7.46.0.

CURLOPT_SUPPRESS_CONNECT_HEADERS (int)

true para suprimir cabeçalhos de resposta CONNECT do proxy a partir das funções de retorno de usuário CURLOPT_HEADERFUNCTION e CURLOPT_WRITEFUNCTION, quando CURLOPT_HTTPPROXYTUNNEL é usada e uma requisição CONNECT é realizada. O padrão é false. Disponível a partir do PHP 7.3.0 e cURL 7.54.0.

CURLOPT_TCP_FASTOPEN (int)

true para habilitar e false para desabilitar a extensão "Fast Open" (abertura rápida) do TCP. Disponível a partir do PHP 7.0.7 e cURL 7.49.0.

CURLOPT_TCP_KEEPALIVE (int)

Se definida para 1, sondas de manutenção de atividade serão enviadas. O atraso e a frequência destas sondas podem ser controlados pelas opções CURLOPT_TCP_KEEPIDLE e CURLOPT_TCP_KEEPINTVL, desde que o sistema operacional as suporte. Se definida para 0 (padrão), as sondas são desabilitadas. O número máximo de sondas pode ser definido com a opção CURLOPT_TCP_KEEPCNT. Disponível a partir do cURL 7.25.0.

CURLOPT_TCP_KEEPIDLE (int)

Define o atraso, em segundos, que o sistema operacional aguardará enquanto a conexão estiver ociosa antes de enviar sondas de manutenção de atividade, se CURLOPT_TCP_KEEPALIVE estiver habilitada. Nem todos os sistemas operacionais suportam esta opção. O padrão é 60. Disponível a partir do cURL 7.25.0.

CURLOPT_TCP_KEEPINTVL (int)

Define o intervalo, em segundos, que o sistema operacional aguardará entre o envio de sondas de manutenção de atividade, se CURLOPT_TCP_KEEPALIVE estiver habilitada. Nem todos os sistemas operacionais suportam esta opção. O padrão é 60. Disponível a partir do cURL 7.25.0.

CURLOPT_TCP_KEEPCNT (int)

Define o número máximo de sondas de verificação de atividade TCP. O padrão é 9. Disponível a partir do PHP 8.4.0 e cURL 8.9.0.

CURLOPT_TCP_NODELAY (int)

true para desabilitar o algoritmo Nagle do TCP, que tenta minimizar o número de pacotes pequenos na rede. O padrão é true. Disponível a partir do cURL 7.11.2.

CURLOPT_TELNETOPTIONS (int)

Define um array de strings a ser passado às negociações telnet. As variáveis ​​devem estar no formato >opção=valor<. O cURL suporta as opções TTYPE, XDISPLOC e NEW_ENV. Disponível a partir do cURL 7.7.0.

CURLOPT_TFTP_BLKSIZE (int)

Define o tamanho do bloco a ser usado para transmissão de dados TFTP. O intervalo válido é 8-65464 bytes. O padrão de 512 bytes será usado se esta opção não for especificada. O tamanho de bloco especificado só será usado se for suportado pelo servidor remoto. Se o servidor não retornar uma confirmação de opção ou retornar uma confirmação de opção sem tamanho de bloco, o padrão de 512 bytes será usado. Disponível a partir do cURL 7.19.4.

CURLOPT_TFTP_NO_OPTIONS (int)

true para não enviar requisições de opções TFTP. O padrão é false. Disponível a partir do PHP 7.0.7 e do cURL 7.48.0.

CURLOPT_TIMECONDITION (int)

Define como CURLOPT_TIMEVALUE é tratada. Use CURL_TIMECOND_IFMODSINCE para retornar a página somente se ela tenha sido modificada desde o momento especificado em CURLOPT_TIMEVALUE. Se ela não foi modificada, um cabeçalho 304 Not Modified será retornado assumindo que CURLOPT_HEADER seja true. Use CURL_TIMECOND_IFUNMODSINCE para o efeito reverso. Use CURL_TIMECOND_NONE para ignorar CURLOPT_TIMEVALUE e sempre retornar a página. CURL_TIMECOND_NONE é o padrão. Antes do cURL 7.46.0, o padrão era CURL_TIMECOND_IFMODSINCE. Disponível a partir do cURL 7.1.0.

CURLOPT_TIMEOUT (int)

O número máximo de segundos para permitir a execução de funções cURL. O padrão é 0, que significa que as funções nunca expiram durante a transferência. Disponível a partir do cURL 7.1.0.

CURLOPT_TIMEOUT_MS (int)

O número máximo de milissegundos para permitir a execução de funções cURL. Se o cURL for compilado para usar o resolvedor de nome padrão do sistema, essa parte da conexão ainda usará resolução de segundos completos para tempos limite com um mínimo permitido de um segundo. O padrão é 0, que significa que as funções nunca expiram durante a transferência. Disponível a partir do cURL 7.16.2.

CURLOPT_TIMEVALUE (int)

O tempo em segundos desde 1º de janeiro de 1970. O tempo será usado por CURLOPT_TIMECONDITION. O padrão é 0. Disponível a partir do cURL 7.1.0.

CURLOPT_TIMEVALUE_LARGE (int)

O tempo em segundos desde 1º de janeiro de 1970. O tempo será usado por CURLOPT_TIMECONDITION. O padrão é zero. A diferença entre esta opção e CURLOPT_TIMEVALUE é o tipo do argumento. Em sistemas onde o inteiro longo é de somente 32 bits de comprimento, esta opção tem que ser usada para definir datas além do ano 2038. Disponível a partir do PHP 7.3.0 e cURL 7.59.0.

CURLOPT_TLS13_CIPHERS (int)

Uma string com a lista de conjuntos de criptografia a serem usados ​​para a conexão TLS 1.3, separados por dois-pontos. Esta opção é usada atualmente apenas quando o cURL é compilado para usar OpenSSL 1.1.1 ou posterior. Se um SSL diferente estiver sendo usado, os conjuntos de criptografia TLS 1.3 podem ser configurados com a opção CURLOPT_SSL_CIPHER_LIST. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.

CURLOPT_TLSAUTH_PASSWORD (int)

Define uma senha a ser usada para o método de autenticação TLS especificado com a opção CURLOPT_TLSAUTH_TYPE. Requer que a opção CURLOPT_TLSAUTH_USERNAME também seja definida. Este recurso depende do TLS SRP, que não funciona com o TLS 1.3. Disponível a partir do cURL 7.21.4.

CURLOPT_TLSAUTH_TYPE (int)

Define uma string com o método de autenticação TLS. O método suportado é SRP (autenticação TLS "Secure Remote Password"). Disponível a partir do cURL 7.21.4.

CURLOPT_TLSAUTH_USERNAME (int)

Define uma string com o nome de usuário a ser usado para o método de autenticação TLS especificado com a opção CURLOPT_TLSAUTH_TYPE. Requer que a opção CURLOPT_TLSAUTH_PASSWORD também esteja definida. Este recurso depende do TLS SRP, que não funciona com o TLS 1.3. Disponível a partir do cURL 7.21.4.

CURLOPT_TRANSFER_ENCODING (int)

Definida como 1 ativa, e como 0 desativa a solicitação de Transfer Encoding compactada na solicitação HTTP de saída. Se o servidor responder com uma Transfer Encoding compactada, o cURL irá descompactá-la automaticamente na recepção. O padrão é 0. Disponível a partir do cURL 7.21.6.

CURLOPT_TRANSFERTEXT (int)

true para usar modo ASCII para transferências FTP. Para LDAP, os dados são recuperados em texto puro ao invés de HTML. Em sistemas Windows, STDOUT não será definido para modo binário. O padrão é false. Disponível a partir do cURL 7.1.1.

CURLOPT_UNIX_SOCKET_PATH (int)

Permite o uso de soquetes de domínio Unix como terminal de conexão e define o caminho para a string fornecida. Defina como null para desabilitar. O padrão é null. Disponível a partir do PHP 7.0.7 e cURL 7.40.0.

CURLOPT_UNRESTRICTED_AUTH (int)

true para continuar enviando usuário e senha ao seguir localizações (usando CURLOPT_FOLLOWLOCATION), mesmo quando o nome do servidor tiver mudado. O padrão é false. Disponível a partir do cURL 7.10.4.

CURLOPT_UPKEEP_INTERVAL_MS (int)

Alguns protocolos possuem mecanismos de "manutenção da conexão". Esses mecanismos geralmente enviam algum tráfego nas conexões existentes para mantê-las ativas. Esta opção define o intervalo de manutenção da conexão. Atualmente, o único protocolo com mecanismo de manutenção de conexão é o HTTP/2. Quando o intervalo de manutenção da conexão é excedido, um quadro PING HTTP/2 é enviado na conexão. O padrão é CURL_UPKEEP_INTERVAL_DEFAULT que atualmente é 60 segundos. Disponível a partir do PHP 8.2.0 e cURL 7.62.0.

CURLOPT_UPLOAD (int)

true para se preparar e realizar um envio. O padrão é false. Disponível a partir do cURL 7.1.0.

CURLOPT_UPLOAD_BUFFERSIZE (int)

Tamanho de buffer preferido em bytes para o buffer de upload cURL. O tamanho do buffer de upload por padrão é de 64 kilobytes. O tamanho máximo do buffer que pode ser definido é de 2 megabytes. O tamanho mínimo do buffer que pode ser definido é de 16 kilobytes. Disponível a partir do PHP 8.2.0 e cURL 7.62.0.

CURLOPT_URL (int)

O URL a ser buscado. Isto também pode ser definido ao inicializar uma sessão com curl_init(). Disponível a partir do cURL 7.1.0.

CURLOPT_USE_SSL (int)

Define o nível desejado de SSL/TLS para a transferência ao usar FTP, SMTP, POP3, IMAP etc. Todos esses são protocolos que iniciam em texto simples e são "atualizados" para SSL usando o comando STARTTLS. Deve ser definida como uma das constantes CURLUSESSL_*. Disponível a partir do cURL 7.17.0.

CURLOPT_USERAGENT (int)

O conteúdo do cabeçalho User-Agent: a ser usado em uma requisição HTTP. Disponível a partir do cURL 7.1.0.

CURLOPT_USERNAME (int)

O nome de usuário a ser utilizado na autenticação. Disponível a partir do cURL 7.19.1.

CURLOPT_USERPWD (int)

Um nome de usuário e senha formatados como [usuário]:[senha] a serem usados para a conexão. Available as cURL 7.1.0.

CURLOPT_VERBOSE (int)

true para gerar informações detalhadas. Grava a saída em STDERR ou no arquivo especificado usando CURLOPT_STDERR. O padrão é false. Disponível a partir do cURL 7.1.0.

CURLOPT_WILDCARDMATCH (int)

Se definida como 1, transfere vários arquivos de acordo com um padrão de nome de arquivo. O padrão pode ser especificado como parte da opção CURLOPT_URL, usando um padrão semelhante ao fnmatch (Shell Pattern Matching) na última parte da URL (nome do arquivo). Disponível a partir do cURL 7.21.0.

CURLOPT_WRITEFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(resource $curlHandle, string $data): int
curlHandle
O identificador cURL.
data
Os dados a serem escritos.
Os dados devem ser gravados por esta função de retorno e ela deve retornar o número exato de bytes escritos ou a transferência será abortada com erro. Disponível a partir do cURL 7.1.0.

CURLOPT_WRITEHEADER (int)

Aceita um identificador de arquivo do tipo resource no qual a parte do cabeçalho da transferência é gravada. Disponível a partir do cURL 7.1.0.

CURLOPT_WS_OPTIONS (int)

Aceita uma máscara de bits configurando as opções de comportamento do WebSocket. A única opção disponível é CURLWS_RAW_MODE. O padrão é 0. Disponível a partir do PHP 8.3.0 e cURL 7.86.0.

CURLOPT_XFERINFOFUNCTION (int)

Uma função de retorno do tipo callable com a seguinte assinatura:

callback(
    resource $curlHandle,
    int $bytesToDownload,
    int $bytesDownloaded,
    int $bytesToUpload,
    int $bytesUploaded
): int
curlHandle
O identificador cURL.
bytesToDownload
O número total de bytes esperados para recebimento nesta transferência.
bytesDownloaded
O número de bytes recebidos até o momento.
bytesToUpload
O número total de bytes esperados para envio nesta transferência.
bytesUploaded
O número de bytes enviados até o momento.
Retorne 1 para abortar a transferência e definir um erro CURLE_ABORTED_BY_CALLBACK. Disponível a partir do PHP 8.2.0 e cURL 7.32.0.

CURLOPT_SERVER_RESPONSE_TIMEOUT (int)

Um tempo limite em segundos que o cURL esperará por uma resposta de um servidor FTP, SFTP, IMAP, SCP, SMTP ou POP3. Esta opção substitui a opção CURLOPT_FTP_RESPONSE_TIMEOUT existente que foi descontinuada no cURL 7.85.0. Disponível a partir do PHP 8.4.0.

CURLOPT_XOAUTH2_BEARER (int)

Especifica o token de acesso do OAuth 2.0. Defina como null para desabilitar. O padrão é null. Disponível a partir do PHP 7.0.7 e cURL 7.33.0.

CURLOPT_PREREQFUNCTION (int)

Uma função do tipo callable com a seguinte assinatura que é chamada depois que a conexão é estabelecida, mas antes que a carga útil da solicitação (por exemplo, a solicitação GET/POST/DELETE de uma conexão HTTP) seja enviada e pode ser usada para cancelar ou permitir a conexão dependendo do endereço IP de origem e destino e dos números de porta:

callback(
    CurlHandle $curlHandle,
    string $destination_ip,
    string $local_ip,
    int $destination_port,
    int $local_port
): int
curlHandle
O identificador cURL.
destination_ip
O IP primário do servidor remoto estabelecido com esta conexão. Para FTP, este é o IP da conexão de controle. Os endereços IPv6 são representados sem colchetes.
local_ip
O IP de origem para esta conexão. Os endereços IPv6 são representados sem colchetes.
destination_port
O número da porta primária no servidor remoto estabelecido com esta conexão. Para FTP, esta é a porta para a conexão de controle. Este pode ser um número de porta TCP ou UDP dependendo do protocolo.
local_port
O número da porta de origem para esta conexão. Este pode ser um número de porta TCP ou UDP dependendo do protocolo.
Retorne CURL_PREREQFUNC_OK para permitir a solicitação ou CURL_PREREQFUNC_ABORT para abortar a transferência. Disponível a partir do PHP 8.4.0 e cURL 7.80.0.

CURLOPT_DEBUGFUNCTION (int)

Disponível a partir do PHP 8.4.0. Esta opção requer a opção CURLOPT_VERBOSE habilitada. Uma função do tipo callable para substituir a saída detalhada do cURL padrão. Esse retorno de chamada é chamado durante vários estágios da solicitação com informações detalhadas de depuração. O retorno de chamada deve corresponder à seguinte assinatura:

callback(CurlHandle $curlHandle, int $type, string $data): void
curlHandle
O identificador cURL.
type
Uma das seguintes constantes indicando o tipo do valor data:
Constantes Descrição
CURLINFO_TEXT (int) Texto informativo.
CURLINFO_HEADER_IN (int) Dados de cabeçalho (ou semelhantes a cabeçalho) recebidos do par.
CURLINFO_HEADER_OUT (int) Dados de cabeçalho (ou semelhantes a cabeçalho) enviados ao par.
CURLINFO_DATA_IN (int) Dados de protocolo não processados ​​recebidos do par. Mesmo que os dados sejam codificados ou compactados, eles não são fornecidos decodificados nem descompactados para esse retorno de chamada.
CURLINFO_DATA_OUT (int) Dados de protocolo enviados ao par.
CURLINFO_SSL_DATA_IN (int) Dados SSL/TLS (binários) recebidos do par.
CURLINFO_SSL_DATA_OUT (int) Dados SSL/TLS (binários) enviados ao par.
data
Dados detalhados de depuração do tipo indicado pelo parâmetro type.

curl_share_setopt()
Constantes Descrição
CURL_LOCK_DATA_CONNECT (int) Compartilha/descompartilha o cache de conexão. Disponível a partir do PHP 7.3.0 e cURL 7.10.3.
Compartilha/descompartilha dados de cookies. Disponível a partir do cURL 7.10.3.
CURL_LOCK_DATA_DNS (int) Compartilha/descompartilha cache DNS. Observe que quando vários identificadores cURL são usados, todos os identificadores adicionados ao mesmo identificador múltiplo compartilharão o cache DNS por padrão. Disponível a partir do cURL 7.10.3.
CURL_LOCK_DATA_PSL (int) Compartilha/descompartilha o compartilhamento da Lista Pública de Sufixos. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURL_LOCK_DATA_SSL_SESSION (int) Compartilha/descompartilha IDs de sessão SSL, reduzindo o tempo gasto no handshake SSL ao se reconectar ao mesmo servidor. Observe que os IDs de sessão SSL são reutilizados no mesmo identificador por padrão. Disponível a partir do cURL 7.10.3.
CURLSHOPT_NONE (int) Disponível a partir do cURL 7.10.3.
CURLSHOPT_SHARE (int) Especifica um tipo de dados que deve ser compartilhado. Disponível a partir do cURL 7.10.3.
CURLSHOPT_UNSHARE (int) Especifica um tipo de dados que não será mais compartilhado. Disponível a partir do cURL 7.10.3.
curl_getinfo()
Constantes Descrição
CURLINFO_APPCONNECT_TIME (int) Tempo em segundos que levou desde o início até que a conexão/handshake SSL/SSH com o host remoto fosse concluída.
CURLINFO_APPCONNECT_TIME_T (int) Tempo, em microssegundos, desde o início até que a conexão/handshake SSL/SSH com o host remoto fosse concluída. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_CAINFO (int) Caminho do certificado CA integrado padrão. Disponível a partir do PHP 8.3.0 e cURL 7.84.0.
CURLINFO_CAPATH (int) String de caminho de CA integrada padrão. Disponível a partir do PHP 8.3.0 e cURL 7.84.0.
CURLINFO_CERTINFO (int) Cadeia de certificados TLS.
CURLINFO_CONDITION_UNMET (int) Informações sobre condicional de tempo não cumprido.
CURLINFO_CONNECT_TIME (int) Tempo decorrido para estabelecer a conexão em segundos.
CURLINFO_CONNECT_TIME_T (int) Tempo total gasto, em microssegundos, desde o início até a conexão com o host remoto (ou proxy) ser concluída. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int) Comprimento do conteúdo do download, lido do campo "Content-Length:"
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int) O comprimento do conteúdo do recebimento. Este é o valor lido do campo "Content-Length:" menos 1 se o tamanho não for conhecido. Disponível a partir do PHP 7.3.0 e cURL 7.55.0.
CURLINFO_CONTENT_LENGTH_UPLOAD (int) Tamanho especificado de envio
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int) O tamanho especificado do envio. -1 se o tamanho não for conhecido. Disponível a partir do PHP 7.3.0 e cURL 7.55.0.
CURLINFO_CONTENT_TYPE (int) Content-Type do documento solicitado. NULL indica que o servidor não enviou cabeçalho Content-Type válido
CURLINFO_COOKIELIST (int) Todos os cookies conhecidos.
CURLINFO_EFFECTIVE_METHOD (int) Obtém o último método HTTP utilizado.
CURLINFO_EFFECTIVE_URL (int) Último URL efetivo
CURLINFO_FILETIME (int) Horário remoto do documento recuperado, com CURLOPT_FILETIME habilitado; se -1 for retornado o horário do documento é desconhecido.
CURLINFO_FILETIME_T (int) Horário remoto do documento recuperado (como timestamp Unix), uma alternativa a CURLINFO_FILETIME para permitir que sistemas com variáveis ​​longas de 32 bits extraiam datas fora do intervalo de timestamp de 32 bits. Disponível a partir do PHP 7.3.0 e cURL 7.59.0.
CURLINFO_FTP_ENTRY_PATH (int) Caminho de entrada no servidor FTP.
CURLINFO_HEADER_OUT (int) A string de solicitação enviada. Para que isso funcione, adicione a opção CURLINFO_HEADER_OUT ao identificador chamando curl_setopt().
CURLINFO_HEADER_SIZE (int) Tamanho total de todos os cabeçalhos recebidos.
CURLINFO_HTTPAUTH_AVAIL (int) Máscara de bits indicando o(s) método(s) de autenticação disponíveis de acordo com a resposta anterior.
CURLINFO_HTTP_CODE (int) O último código de resposta. A partir do cURL 7.10.8, este é um apelido legado de CURLINFO_RESPONSE_CODE.
CURLINFO_HTTP_CONNECTCODE (int) O código de resposta CONNECT.
CURLINFO_HTTP_VERSION (int) A versão usada na última conexão HTTP. O valor de retorno será uma das constantes CURL_HTTP_VERSION_* definidas ou 0 se a versão não puder ser determinada. Disponível a partir do PHP 7.3.0 e cURL 7.50.0.
CURLINFO_LASTONE (int) O último valor na enumeração CURLINFO subjacente em libcurl.
CURLINFO_LOCAL_IP (int) Endereço IP local (fonte) da conexão mais recente.
CURLINFO_LOCAL_PORT (int) Porta local (fonte) da conexão mais recente.
CURLINFO_NAMELOOKUP_TIME (int) Tempo em segundos até a resolução do nome ser concluída.
CURLINFO_NAMELOOKUP_TIME_T (int) Tempo em microssegundos desde o início até a conclusão da resolução do nome. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_NUM_CONNECTS (int) Número de conexões que o curl teve que criar para alcançar a transferência anterior.
CURLINFO_OS_ERRNO (int) Número de erro devido a uma falha de conexão. O número é específico do sistema operacional e do sistema.
CURLINFO_PRETRANSFER_TIME (int) Tempo em segundos desde o início até pouco antes do início da transferência do arquivo.
CURLINFO_PRETRANSFER_TIME_T (int) Tempo decorrido desde o início até o início da transferência do arquivo, em microssegundos. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_PRIMARY_IP (int) Endereço IP da conexão mais recente.
CURLINFO_PRIMARY_PORT (int) Porta de destino da conexão mais recente.
CURLINFO_PRIVATE (int) Dados privados associados a este identificador cURL, previamente definido com a opção CURLOPT_PRIVATE de curl_setopt().
CURLINFO_PROTOCOL (int) O protocolo usado na última conexão HTTP. O valor retornado será exatamente um dos valores CURLPROTO_*. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.
CURLINFO_PROXYAUTH_AVAIL (int) Máscara de bits indicando o(s) método(s) de autenticação de proxy disponíveis de acordo com a resposta anterior.
CURLINFO_PROXY_ERROR (int) O código de erro de proxy detalhado (SOCKS) quando a transferência mais recente retornou um erro CURLE_PROXY. O valor retornado será exatamente um dos valores CURLPX_*. O código de erro será CURLPX_OK se nenhum código de resposta estiver disponível. Disponível a partir do PHP 8.2.0 e cURL 7.73.0.
CURLINFO_PROXY_SSL_VERIFYRESULT (int) O resultado da verificação do certificado solicitado (usando a opção CURLOPT_PROXY_SSL_VERIFYPEER). Usado apenas para proxies HTTPS. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.
CURLINFO_REDIRECT_COUNT (int) Número de redirecionamentos, com a opção CURLOPT_FOLLOWLOCATION habilitada.
CURLINFO_REDIRECT_TIME (int) Tempo em segundos de todas as etapas de redirecionamento antes do início da transação final, com a opção CURLOPT_FOLLOWLOCATION habilitada.
CURLINFO_REDIRECT_TIME_T (int) Tempo total, em microssegundos, necessário para todas as etapas de redirecionamento, incluindo pesquisa de nome, conexão, pré-transferência e transferência, antes do início da transação final. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_REDIRECT_URL (int) Com a opção CURLOPT_FOLLOWLOCATION desabilitada: URL de redirecionamento encontrada na última transação, que deverá ser solicitada manualmente a seguir. Com a opção CURLOPT_FOLLOWLOCATION habilitada: fica vazia. A URL de redirecionamento neste caso está disponível em CURLINFO_EFFECTIVE_URL.
CURLINFO_REFERER (int) O cabeçalho Referer. Disponível a partir do PHP 8.2.0 e cURL 7.76.0.
CURLINFO_REQUEST_SIZE (int) Tamanho total de solicitações emitidas, atualmente apenas para solicitações HTTP.
CURLINFO_RESPONSE_CODE (int) O último código de resposta. Disponível a partir do cURL 7.10.8.
CURLINFO_RETRY_AFTER (int) As informações do cabeçalho Retry-After ou zero se não houver cabeçalho válido. Disponível a partir do PHP 8.2.0 e cURL 7.66.0
CURLINFO_RTSP_CLIENT_CSEQ (int) Próximo CSeq do cliente RTSP.
CURLINFO_RTSP_CSEQ_RECV (int) CSeq recebido recentemente.
CURLINFO_RTSP_SERVER_CSEQ (int) Próximo CSeq do servidor RTSP.
CURLINFO_RTSP_SESSION_ID (int) ID da sessão RTSP.
CURLINFO_SCHEME (int) O esquema de URL usado para a conexão mais recente. Disponível a partir do PHP 7.3.0 e cURL 7.52.0.
CURLINFO_SIZE_DOWNLOAD (int) Número total de bytes recebidos.
CURLINFO_SIZE_DOWNLOAD_T (int) Número total de bytes que foram recebidos. O número é apenas para a última transferência e será redefinido novamente a cada nova transferência. Disponível a partir do PHP 7.3.0 e cURL 7.50.0.
CURLINFO_SIZE_UPLOAD (int) Número total de bytes enviados.
CURLINFO_SIZE_UPLOAD_T (int) Número total de bytes que foram enviados. Disponível a partir do PHP 7.3.0 e cURL 7.50.0.
CURLINFO_SPEED_DOWNLOAD (int) Velocidade média de recebimento.
CURLINFO_SPEED_DOWNLOAD_T (int) A velocidade média de recebimento em bytes/segundo medida para o recebimento completo. Disponível a partir do PHP 7.3.0 e cURL 7.50.0.
CURLINFO_SPEED_UPLOAD (int) Velocidade média de envio.
CURLINFO_SPEED_UPLOAD_T (int) A velocidade média de envio em bytes/segundo medida para o envio completo. Disponível a partir do PHP 7.3.0 e cURL 7.50.0.
CURLINFO_SSL_ENGINES (int) Motores criptográficos OpenSSL suportados.
CURLINFO_SSL_VERIFYRESULT (int) Resultado da verificação da certificação SSL solicitada pela configuração CURLOPT_SSL_VERIFYPEER.
CURLINFO_STARTTRANSFER_TIME (int) Tempo em segundos até que o primeiro byte esteja prestes a ser transferido.
CURLINFO_STARTTRANSFER_TIME_T (int) Tempo, em microssegundos, desde o início até o recebimento do primeiro byte. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_TOTAL_TIME (int) Tempo total de transação em segundos para a última transferência.
CURLINFO_TOTAL_TIME_T (int) Tempo total em microssegundos para a transferência anterior, incluindo resolução de nomes, conexão TCP etc. Disponível a partir do PHP 7.3.0 e cURL 7.61.0.
CURLINFO_POSTTRANSFER_TIME_T (int) Tempo decorrido do início até o último byte ser enviado, em microssegundos. Disponível a partir do PHP 8.4.0 e cURL 8.10.0.
curl_multi_setopt()
Constantes Descrição
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int) Especifica o limite de comprimento do bloco para pipeline em bytes. Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int) Especifica o limite de tamanho para penalidade de pipeline em bytes. Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAXCONNECTS (int) Especifica a quantidade máxima de conexões abertas simultaneamente que o libcurl pode armazenar em cache. Por padrão, o tamanho será aumentado para caber quatro vezes o número de identificadores adicionados via curl_multi_add_handle(). Quando o cache está cheio, curl fecha a mais antiga do cache para evitar que o número de conexões abertas aumente. Disponível a partir do cURL 7.16.3.
CURLMOPT_MAX_CONCURRENT_STREAMS (int) Especifica o número máximo de fluxos simultâneos para conexões que cURL deve suportar em conexões usando HTTP/2. Os valores válidos variam de 1 a 2147483647 (2^31 - 1). O valor passado aqui seria respeitado com base em outras propriedades de recursos do sistema. O padrão é 100. Disponível a partir do PHP 8.2.0 e cURL 7.67.0.
CURLMOPT_MAX_HOST_CONNECTIONS (int) Especifica o número máximo de conexões com um único host. Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH (int) Especifica o número máximo de solicitações em um pipeline. Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS (int) Especifica o número máximo de conexões abertas simultaneamente. Disponível a partir do PHP 7.0.7 e cURL 7.30.0
CURLMOPT_PIPELINING (int) Passe 1 para habilitar ou 0 para desabilitar. Habilitar o pipeline em um identificador múltiplo fará com que ele tente executar o Pipelining HTTP na medida do possível para transferências usando esse identificador. Isso significa que adicionar uma segunda solicitação que possa usar uma conexão já existente "canalizará" a segunda solicitação na mesma conexão. A partir do cURL 7.43.0, o valor é uma máscara de bits e passar 2 tentará multiplexar a nova transferência por meio de uma conexão HTTP/2 existente. A passagem 3 instrui o cURL a solicitar pipeline e multiplexação independentemente um do outro. A partir do cURL 7.62.0, a configuração do bit de pipelining não tem efeito. Em vez de literais inteiros, as constantes CURLPIPE_* também podem ser usadas. Disponível a partir do cURL 7.16.0.
CURLMOPT_PUSHFUNCTION (int)

Passe um callable que será registrado para lidar com pushes do servidor e deverá ter a seguinte assinatura:

pushfunction(resource $parent_ch, resource $pushed_ch, array $headers): int
parent_ch
O identificador cURL pai (a solicitação feita pelo cliente).
pushed_ch
Um novo identificador cURL para a solicitação enviada.
headers
Os cabeçalhos da promessa push.
A função push deve retornar CURL_PUSH_OK se puder lidar com o push, ou CURL_PUSH_DENY para rejeitá-lo. Disponível a partir do PHP 7.1.0 e cURL 7.44.0

Constantes do protocolo cURL
Constantes Descrição
CURLPROTO_ALL (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_DICT (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_FILE (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_FTP (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_FTPS (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_GOPHER (int) Disponível a partir do cURL 7.21.2.
CURLPROTO_HTTP (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_HTTPS (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_IMAP (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_IMAPS (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_LDAP (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_LDAPS (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_MQTT (int) Disponível a partir do PHP 8.2.0 e cURL 7.71.0.
CURLPROTO_POP3 (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_POP3S (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_RTMP (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTMPE (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTMPS (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTMPT (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTMPTE (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTMPTS (int) Disponível a partir do cURL 7.21.0.
CURLPROTO_RTSP (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_SCP (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_SFTP (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_SMB (int) Disponível a partir do PHP 7.0.7 e cURL 7.40.0.
CURLPROTO_SMBS (int) Disponível a partir do PHP 7.0.7 e cURL 7.40.0.
CURLPROTO_SMTP (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_SMTPS (int) Disponível a partir do cURL 7.20.0.
CURLPROTO_TELNET (int) Disponível a partir do cURL 7.19.4.
CURLPROTO_TFTP (int) Disponível a partir do cURL 7.19.4.
cURL error constants
Constantes Descrição
CURLE_ABORTED_BY_CALLBACK (int) Abortado por retorno de chamada. Um retorno de chamada retornou "abort" para libcurl.
CURLE_BAD_CALLING_ORDER (int)
CURLE_BAD_CONTENT_ENCODING (int) Codificação de transferência não reconhecida.
CURLE_BAD_DOWNLOAD_RESUME (int) O download não pôde ser retomado porque o deslocamento especificado estava fora do limite do arquivo.
CURLE_BAD_FUNCTION_ARGUMENT (int) Uma função foi chamada com um parâmetro incorreto.
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_COULDNT_CONNECT (int) Falha ao conectar ao host ou proxy.
CURLE_COULDNT_RESOLVE_HOST (int) Não foi possível resolver o host. O host remoto fornecido não foi resolvido.
CURLE_COULDNT_RESOLVE_PROXY (int) Não foi possível resolver o proxy. O host proxy fornecido não pôde ser resolvido.
CURLE_FAILED_INIT (int) Falha no código de inicialização antecipada. É provável que seja um erro ou problema interno, ou um problema de recursos em que algo fundamental não pôde ser feito no momento da inicialização.
CURLE_FILESIZE_EXCEEDED (int) Tamanho máximo do arquivo excedido.
CURLE_FILE_COULDNT_READ_FILE (int) Um arquivo fornecido com FILE:// não pôde ser aberto. Provavelmente porque o caminho do arquivo não identifica um arquivo existente ou devido à falta de permissões de arquivo apropriadas.
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FTP_CANT_GET_HOST (int) Uma falha interna ao pesquisar o host usado para a nova conexão.
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_FTP_COULDNT_RETR_FILE (int) Esta foi uma resposta inesperada a um comando 'RETR' ou uma transferência de zero byte concluída.
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_FTP_COULDNT_USE_REST (int) O comando FTP REST retornou um erro. Isso nunca deveria acontecer se o servidor estiver saudável.
CURLE_FTP_PARTIAL_FILE (int)
CURLE_FTP_PORT_FAILED (int) O comando FTP PORT retornou erro. Isso acontece principalmente quando um endereço bom o suficiente não foi especificado para uso da libcurl. Consulte CURLOPT_FTPPORT.
CURLE_FTP_QUOTE_ERROR (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_227_FORMAT (int) Os servidores FTP retornam uma linha 227 como resposta a um comando PASV. Se a libcurl não conseguir analisar essa linha, esse código de retorno será retornado.
CURLE_FTP_WEIRD_PASS_REPLY (int) Após enviar a senha do FTP ao servidor, a libcurl espera uma resposta adequada. Este código de erro indica que um código inesperado foi retornado.
CURLE_FTP_WEIRD_PASV_REPLY (int) A libcurl não conseguiu obter um resultado sensato do servidor como resposta a um comando PASV ou EPSV. O servidor está falho.
CURLE_FTP_WEIRD_SERVER_REPLY (int) O servidor enviou dados que o libcurl não pôde analisar. Este código de erro é conhecido como CURLE_WEIRD_SERVER_REPLY a partir do cURL 7.51.0.
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FUNCTION_NOT_FOUND (int) Função não encontrada. Uma função zlib necessária não foi encontrada.
CURLE_GOT_NOTHING (int) Nada foi retornado do servidor e, dadas as circunstâncias, não receber nada é considerado um erro.
CURLE_HTTP_NOT_FOUND (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_HTTP_POST_ERROR (int) Este é um erro estranho que ocorre principalmente devido a confusão interna.
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_RETURNED_ERROR (int) Isto é retornado se CURLOPT_FAILONERROR estiver definido como true e o servidor HTTP retornar um código de erro maior ou igual a 400.
CURLE_LDAP_CANNOT_BIND (int) O LDAP não pode ser vinculado. A operação de ligação LDAP falhou.
CURLE_LDAP_INVALID_URL (int)
CURLE_LDAP_SEARCH_FAILED (int) A pesquisa LDAP falhou.
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_MALFORMAT_USER (int)
CURLE_OBSOLETE (int)
CURLE_OK (int) Tudo bem. Proceda normalmente.
CURLE_OPERATION_TIMEDOUT (int) Tempo limite de operação. O período de tempo limite especificado foi alcançado de acordo com as condições.
CURLE_OPERATION_TIMEOUTED (int)
CURLE_OUT_OF_MEMORY (int) Falha na solicitação de alocação de memória.
CURLE_PARTIAL_FILE (int) A transferência de arquivos foi mais curta ou maior que o esperado. Isso acontece quando o servidor primeiro informa um tamanho de transferência esperado e depois entrega dados que não correspondem ao tamanho fornecido anteriormente.
CURLE_PROXY (int) Erro de estabelecimento de comunicação com o proxy. CURLINFO_PROXY_ERROR fornece detalhes extras sobre o problema específico. Disponível a partir do PHP 8.2.0 e cURL 7.73.0.
CURLE_READ_ERROR (int) Ocorreu um problema ao ler um arquivo local ou um erro retornado pelo retorno de chamada de leitura.
CURLE_RECV_ERROR (int) Falha no recebimento de dados da rede.
CURLE_SEND_ERROR (int) Falha ao enviar dados de rede.
CURLE_SHARE_IN_USE (int)
CURLE_SSH (int) Ocorreu um erro não especificado durante a sessão SSH. Disponível a partir do cURL 7.16.1.
CURLE_SSL_CACERT (int)
CURLE_SSL_CACERT_BADFILE (int) Problema ao ler o certificado SSL CA.
CURLE_SSL_CERTPROBLEM (int) Problema com o certificado do cliente local.
CURLE_SSL_CIPHER (int) Não foi possível usar a cifra especificada.
CURLE_SSL_CONNECT_ERROR (int) Ocorreu um problema em algum lugar na comunicação inicial SSL/TLS. A leitura da mensagem no buffer de erros fornece mais detalhes sobre o problema. Podem ser certificados (formatos de arquivo, caminhos, permissões), senhas e outros.
CURLE_SSL_ENGINE_NOTFOUND (int) O mecanismo de criptografia especificado não foi encontrado.
CURLE_SSL_ENGINE_SETFAILED (int) Falha ao definir o mecanismo de criptografia SSL selecionado como padrão.
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_SSL_PINNEDPUBKEYNOTMATCH (int) Falha ao corresponder à chave fixada especificada com CURLOPT_PINNEDPUBLICKEY.
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_TOO_MANY_REDIRECTS (int) Muitos redirecionamentos. Ao seguir redirecionamentos, a libcurl atingiu o valor máximo. O limite pode ser definido com CURLOPT_MAXREDIRS.
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_UNSUPPORTED_PROTOCOL (int) A URL passada para libcurl usou um protocolo que a libcurl não suporta. O problema pode ser uma opção de tempo de compilação que não foi usada, uma string de protocolo com erro ortográfico ou apenas um protocolo para o qual a libcurl não possui código.
CURLE_URL_MALFORMAT (int) O URL não foi formatado corretamente.
CURLE_URL_MALFORMAT_USER (int)
CURLE_WEIRD_SERVER_REPLY (int) O servidor enviou dados que a libcurl não pôde analisar. Este código de erro era conhecido como CURLE_FTP_WEIRD_SERVER_REPLY antes do cURL 7.51.0. Disponível a partir do PHP 7.3.0 e cURL 7.51.0.
CURLE_WRITE_ERROR (int) Ocorreu um erro ao gravar dados recebidos em um arquivo local ou um erro foi retornado para a libcurl a partir de um retorno de chamada de gravação.
Constantes de status curl_multi_*
Constantes Descrição
CURLM_ADDED_ALREADY (int) Um identificador simples já adicionado a um identificador múltiplo, assim, houve tentativa de ser adicionado por uma segunda vez. Disponível a partir do cURL 7.32.1.
CURLM_BAD_EASY_HANDLE (int) Um identificador simples não era bom/válido. Isso pode significar que não é um identificador simples, ou possivelmente que o identificador já está em uso por este ou outro identificador múltiplo. Disponível a partir do cURL 7.9.6.
CURLM_BAD_HANDLE (int) O identificador passado não é um identificador múltiplo válido. Disponível a partir do cURL 7.9.6.
CURLM_CALL_MULTI_PERFORM (int) A partir do cURL 7.20.0, essa constante não é usada. Antes do cURL 7.20.0, esse status podia ser retornado por curl_multi_exec() quando curl_multi_select() ou uma função semelhante era chamada antes de retornar qualquer outra constante. Disponível a partir do cURL 7.9.6.
CURLM_INTERNAL_ERROR (int) Erro interno libcurl. Disponível a partir do cURL 7.9.6.
CURLM_OK (int) Sem erros. Disponível a partir do cURL 7.9.6.
CURLM_OUT_OF_MEMORY (int) Ficou sem memória ao processar vários identificadores. Disponível a partir do cURL 7.9.6.
curl_pause()
Constantes Descrição
CURLPAUSE_ALL (int) Pausa o envio e recebimento de dados. Disponível a partir do cURL 7.18.0.
CURLPAUSE_CONT (int) Retoma o envio e recebimento de dados. Disponível a partir do cURL 7.18.0.
CURLPAUSE_RECV (int) Pausa o recebimento de dados. Disponível a partir do cURL 7.18.0.
CURLPAUSE_RECV_CONT (int) Retoma o recebimento de dados. Disponível a partir do cURL 7.18.0.
CURLPAUSE_SEND (int) Pausa o envio de dados. Disponível a partir do cURL 7.18.0.
CURLPAUSE_SEND_CONT (int) Retoma o envio de dados. Disponível a partir do cURL 7.18.0.
adicione uma nota

Notas Enviadas por Usuários (em inglês) 4 notes

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

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

On the official site:

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

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

Some examples:

in PHP the curl error number 28 is called

CURLE_OPERATION_TIMEOUTED

while in the official site is:

CURLE_OPERATION_TIMEDOUT

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

The same is for these:

CURLE_HTTP_RETURNED_ERROR
CURLE_UPLOAD_FAILED
CURLE_INTERFACE_FAILED
CURLE_SSL_CERTPROBLEM
CURLE_SEND_FAIL_REWIND
CURLE_LOGIN_DENIED
CURLE_AGAIN

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

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

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

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

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

or

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

to be removed once you stop supporting them.

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

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

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

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

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

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

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

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

~Ron
To Top