PHP 8.1.30 Released!

Constantes pré-definidas

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().

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
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPMETHOD_DEFAULT (int)
Disponível a partir do PHP 8.2.0 e cURL 7.15.3.
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.
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURL_SSLVERSION_TLSv1_3 (int)
Disponível a partir do PHP 7.3.0 e cURL 7.52.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
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
Disponível a partir do PHP 7.0.7 e cURL 7.38.0.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
Disponível a partir do PHP 7.0.7 e cURL 7.22.0
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int)
Disponível a partir do PHP 8.2.0 e cURL 7.75.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_DIFFER (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_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
CURL_PUSH_OK (int)
Disponível a partir do PHP 7.1.0 e cURL 7.44.0
CURL_PUSH_DENY (int)
Disponível a partir do PHP 7.1.0 e cURL 7.44.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_TIMECOND_NONE (int)
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
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 debug suportado. Disponível a partir do PHP 7.3.6 e cURL 7.19.6
CURL_VERSION_DEBUG (int)
Compilado com suporte de debug. 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)
Negociação auth é suportada. Disponível a partir do PHP 7.3.0 e cURL 7.10.6 (descontinuado a partir do cURL 7.38.0)
CURL_VERSION_HSTS (int)
Disponível a partir do PHP 8.2.0 e cURL 7.74.0
CURL_VERSION_IDN (int)
Internationized Domain Names é suportado. Disponível a partir do PHP 7.3.0 e cURL 7.12.0
CURL_VERSION_MULTI_SSL (int)
Disponível a partir do PHP 7.3.0 e cURL 7.56.0
CURL_VERSION_NTLM (int)
NTLM auth é suportado. 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_IPV6 (int)
IPv6 ativado.
CURL_VERSION_KERBEROS4 (int)
Autenticação Kerberos V4 auth é 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_HTTP2 (int)
Suporte ao HTTP2 compilado. Disponível a partir do PHP 5.5.24 e 5.6.8 e cURL 7.33.0
CURL_VERSION_HTTP3 (int)
Disponível a partir do PHP 8.2.0 e cURL 7.66.0
CURL_VERSION_LARGEFILE (int)
Suporte a arquivos maiores que 2GB. Disponível a partir do cURL 7.33.0
CURL_VERSION_PSL (int)
Mozilla's Public Suffix List, utilizado 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 é suportado. Disponível a partir do PHP 7.3.0 e cURL 7.10.8
CURL_VERSION_SSPI (int)
Compilado com Windows SSPI. Disponível a partir do PHP 7.3.0 e cURL 7.13.2
CURL_VERSION_SSL (int)
Opções SSL options disponíveis.
CURL_VERSION_TLSAUTH_SRP (int)
Autenticação TLS-SRP auth é suportado. 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 Unix domain 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_VERSION_LIBZ (int)
Recursos libz estão presentes.
CURLVERSION_NOW (int)
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
Disponível a partir do cURL 7.10.
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 de cURL 7.10.
CURLPROXY_SOCKS5 (int)
Disponível a partir do cURL 7.10.
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_IGNORED (int)
CURL_NETRC_REQUIRED (int)
CURL_HTTP_VERSION_NONE (int)
CURL_HTTP_VERSION_1_0 (int)
CURL_HTTP_VERSION_1_1 (int)
CURL_HTTP_VERSION_2 (int)
Disponível a partir do PHP 7.0.7 e cURL 7.43.0
CURL_HTTP_VERSION_2_0 (int)
Disponível a partir de cURL 7.33.0
CURL_HTTP_VERSION_2TLS (int)
Disponível a partir do PHP 7.0.7 e cURL 7.47.0
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
Disponível a partir do PHP 7.0.7 e cURL 7.49.0
CURLMSG_DONE (int)
CURLSSLOPT_ALLOW_BEAST (int)
Disponível a partir de cURL 7.25.0
CURLSSLOPT_NO_REVOKE (int)
Disponível a partir do PHP 7.0.7 e cURL 7.44.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_REVOKE_BEST_EFFORT (int)
Disponível a partir do PHP 8.2.0 e cURL 7.70.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_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
CURLPIPE_NOTHING (int)
Disponível a partir de cURL 7.43.0.
CURLPIPE_HTTP1 (int)
Disponível a partir de cURL 7.43.0.
CURLPIPE_MULTIPLEX (int)
Disponível a partir de cURL 7.43.0.
CURLPROXY_SOCKS4A (int)
Disponível a partir de cURL 7.18.0.
CURLPROXY_SOCKS5_HOSTNAME (int)
Disponível a partir de cURL 7.18.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.
CURLAUTH_GSSAPI (int)
Disponível a partir do PHP 7.3.0 e cURL 7.54.1
CURL_MAX_READ_SIZE (int)
Disponível a partir do PHP 7.3.0 e cURL 7.53.0
CURLPROXY_HTTPS (int)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
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_VERSION_HTTPS_PROXY (int)
Disponível a partir do PHP 7.3.0 e cURL 7.52.0
CURLAUTH_BEARER (int)
Disponível a partir do PHP 7.3.0 e cURL 7.61.0
CURLSSH_AUTH_GSSAPI (int)
Disponível a partir do PHP 7.3.0 e cURL 7.58.0
CURLMIMEOPT_FORMESCAPE (int)
Disponível a partir do PHP 8.3.0 e cURL 7.81.0
CURLWS_RAW_MODE (int)
Disponível a partir do PHP 8.3.0 e cURL 7.86.0
CURLKHMATCH_OK (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_LAST (int)
Disponível a partir do PHP 8.3.0 e cURL 7.19.6
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 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. As opções são: CURLALTSVC_H1, CURLALTSVC_H2, CURLALTSVC_H3 e CURLALTSVC_READONLYFILE. 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:.

CURLOPT_AWS_SIGV4 (int)

Fornece autenticação de assinatura AWS V4 em cabeçalho HTTP(S). 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)

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. Disponível a partir do cURL 7.10.

CURLOPT_CAINFO (int)

O nome de um arquivo contendo um ou mais certificados com o qual o peer será verificado. Só faz sentido se usado em combinação com CURLOPT_SSL_VERIFYPEER. Pode requerer um caminho absoluto.

CURLOPT_CAINFO_BLOB (int)

O nome de um arquivo PEM contendo um ou mais certificados com o qual o peer 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)

Um diretótio que mantém múltiplos certificados CA. Use esta opção junto com CURLOPT_SSL_VERIFYPEER.

CURLOPT_CA_CACHE_TIMEOUT (int)

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. Adicionada no cURL 7.19.1. Requer CURLOPT_VERBOSE ligada para ter efeito.

CURLOPT_CONNECTTIMEOUT (int)

O número de segundos a esperar durante tentativa de conexão. Use 0 para esperar indefinidamente.

CURLOPT_CONNECTTIMEOUT_MS (int)

O número de milissegundos a esperar durante tentativa de conexão. Use 0 para esperar indefinidamente. Se libcurl tiver sido compilada 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. 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. 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

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

CURLOPT_COOKIEFILE (int)

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.

CURLOPT_COOKIEJAR (int)

O nome do arquivo para gravar todos os cookies internos para quando o destrutor do identificador for chamado.

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 a libcurl a ignorar todos os cookies que estiverem para ser carregados que sejam "cookies de sessão" da sessão anterior. Por padrão, a libcurl 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".

CURLOPT_CRLF (int)

true para converter novas linhas Unix para novas linhas CRLF nas transferências.

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.

Nota:

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

CURLOPT_DEFAULT_PROTOCOL (int)

O protocolo padrão a usar se a URL não tem 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 (0). 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.

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). 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 no formato string. 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 no formato string. 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.).

CURLOPT_DOH_SSL_VERIFYHOST (int)

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)

Verifica a autenticidade o 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)

Solicita ao cURL que verifique o 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. 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".

CURLOPT_ENCODING (int)

O conteúdo do cabeçalho "Accept-Encoding: ". Isto habilita a decodificação da responsta. Codificações suportadas são "identity", "deflate" e "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.

CURLOPT_EXPECT_100_TIMEOUT_MS (int)

O limite de tempo para respostas Expect: 100-continue em milissegundos. O padrão é 1000 milissegundos. 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.

CURLOPT_FILE (int)

O arquivo no qual a transferência deve ser gravada. O padrão é STDOUT (a janela do navegador).

CURLOPT_FILETIME (int)

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().

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)

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.

CURLOPT_FORBID_REUSE (int)

true para força a conexão a ser fechada explicitamente ao terminar o processamento, e não ser enfileirada para reúso.

CURLOPT_FRESH_CONNECT (int)

true para forçar o uso de uma nova conexão ao invés de uma em cache.

CURLOPT_FTPAPPEND (int)

true para anexar ao arquivo remoto ao invés de sobrescrevê-lo.

CURLOPT_FTPASCII (int)

Um apelido para CURLOPT_TRANSFERTEXT. Use este último.

CURLOPT_FTPLISTONLY (int)

true para apenas listar os nomes de um diretório FTP.

CURLOPT_FTPPORT (int)

O valor que será usado para obter o endereço IP a ser usado 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.

CURLOPT_FTPSSLAUTH (int)

O método de autenticação FTP (quando ativado): CURLFTPAUTH_SSL (tentar SSL primeiro), CURLFTPAUTH_TLS (tentar TLS primeiro) ou CURLFTPAUTH_DEFAULT (deixar o cURL decidir). 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)

true para criar diretórios ausentes quando uma operação FTP encontrar um caminho que não existe atualmente.

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 CURLFTPMETHOD_DEFAULT, CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD e CURLFTPMETHOD_SINGLECWD. 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. 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)

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)

true para usar EPRT (e LPRT) ao realizar downloads FTP ativos. Use false para desabilitar EPRT e LPRT e usar PORT somente.

CURLOPT_FTP_USE_EPSV (int)

true para primeiro tentar um comando EPSV para transferências FTP antes de reverter para PASV. Defina para false para desabilitar EPSV.

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. Disponível a partir do PHP 7.3.0 e cURL 7.59.0

CURLOPT_HAPROXYPROTOCOL (int)

true para enviar um cabeçalho de protocolo 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)

true para incluir o cabeçalho na saída.

CURLOPT_HEADERFUNCTION (int)

Uma função de retorno que aceita dois parâmetros. O primeiro é o recurso cURL, o segundo é uma string com os dados de cabeçalho a serem escritos. Os dados de cabeçalho precisam ser escritos por esta função. Retorna o número de bytes escritos.

CURLOPT_HEADEROPT (int)

Valores possíveis são CURLHEADER_UNIFIED ou CURLHEADER_SEPARATE. 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)

Nome do arquivo de cache HSTS (HTTP Strict Transport Security). Disponível a partir do PHP 8.2.0 e cURL 7.74.0

CURLOPT_HSTS_CTRL (int)

Controla o comportamento HSTS (HTTP Strict Transport Security). Popula a máscara de bits com o conjunto correto de recursos para instruir o cURL sobre como lidar com HSTS para as transferências usando este identificador. CURLHSTS_ENABLE habilita o cache HSTS em memória. Se o arquivo de cache HSTS estiver definido, defina CURLHSTS_READONLYFILE para torná-lo somente-leitura. 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 da libcurl 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)

Os 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 e CURLAUTH_ANYSAFE. O operador binário | (OU) pode ser usado para combinar mais de um método. Se isto for feito, 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.

CURLOPT_HTTPGET (int)

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.

CURLOPT_HTTPHEADER (int)

Um array de campos de cabeçalho HTTP a definir, no formato array('Content-type: text/plain', 'Content-length: 100')

CURLOPT_HTTPPROXYTUNNEL (int)

true para encapsular através de um determinado proxy HTTP.

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)

CURL_HTTP_VERSION_NONE (padrão, deixa o CURL decidir que versão usar), CURL_HTTP_VERSION_1_0 (força HTTP/1.0), CURL_HTTP_VERSION_1_1 (força HTTP/1.1), CURL_HTTP_VERSION_2_0 (tenta HTTP 2), CURL_HTTP_VERSION_2 (apelido para CURL_HTTP_VERSION_2_0), CURL_HTTP_VERSION_2TLS (tenta HTTP 2 sobre TLS (HTTPS) somente) ou CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (emite requisições HTTP não-TLS usando HTTP/2 sem HTTP/1.1 Upgrade).

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)

O arquivo a ser lido pela transferência durante o envio.

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 a libcurl envie mais dados, já que o que exatamente será enviado depende de CURLOPT_READFUNCTION.

CURLOPT_INTERFACE (int)

O nome da interface de rede de saída a ser usada. Isto pode ser um nome de interface, um endereço IP ou um nome de servidor.

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, valores possíveis são CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6, por 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)

Certificado SSL do emissor a partir do blob de memória. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_KEEP_SENDING_ON_ERROR (int)

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 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)

A senha requerida para usar a chave privada CURLOPT_SSLKEY ou CURLOPT_SSH_PRIVATE_KEYFILE. Disponível a partir do cURL 7.16.1.

CURLOPT_KRB4LEVEL (int)

O nível de segurança KRB4 (Kerberos 4). Qualquer dos valores 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 para null irá desabilitar a segurança KRB4. Atualmente, a segurança KRB4 funciona somente com transações FTP.

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 option. 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.

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.

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)

Disponível a partir do PHP 8.2.0 e cURL 7.69.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 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.

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. 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. 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.

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. 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. Disponível a partir do cURL 7.15.5

CURLOPT_MIME_OPTIONS (int)

Disponível a partir do PHP 8.3.0 e cURL 7.81.0

CURLOPT_MUTE (int)

true para manter silêncio completo no que se refere às funções cURL. Removido a partir do cURL 7.15.5; use CURLOPT_RETURNTRANSFER em seu lugar.

CURLOPT_NETRC (int)

true para ler o arquivo ~/.netrc buscando usuário e senha para o servidor remoto com o qual a conexão está sendo estabelecida.

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)

true para excluir o corpo da saída. O método de requisição é definido para HEAD. Mudar para false não muda para GET.

CURLOPT_NOPROGRESS (int)

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.

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 que aceita três parâmetros. O primeiro é o recurso cURL, o segundo é uma string contendo um texto solicitando senha e o terceiro é o comprimento máximo da senha. Retorna a string contendo a senha. Removida a partir do PHP 7.3.0.

CURLOPT_PASSWORD (int)

A senha a ser usada na autenticação. Disponível a partir do cURL 7.19.1.

CURLOPT_PATH_AS_IS (int)

true para não lidar com sequências de ponto-ponto (..). Disponível a partir do PHP 7.0.7 e cURL 7.42.0

CURLOPT_PINNEDPUBLICKEY (int)

Define a chave pública fixada. A string pode ser o nome do arquivo da chave pública fixada. O formato esperado do arquivo é "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)

true para esperar por sequenciamento/multiplexação. Disponível a partir do PHP 7.0.7 e cURL 7.43.0

CURLOPT_PORT (int)

Um número alternativo de porta para conexão.

CURLOPT_POST (int)

true para fazer um POST HTTP comum. Este POST é do tipo application/x-www-form-urlencoded normal, mais comumente usado por formulários HTML.

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.

CURLOPT_POSTQUOTE (int)

Um array de comandos FTP a executar no servidor depois que a requisição FTP tenha sido realizada.

CURLOPT_POSTREDIR (int)

Uma máscara de bits de 1 (301 Movido Permanentemente), 2 (302 Encontrado) e 4 (303 Veja Outro) 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 que aceita cinco parâmetros. O primeiro é um recurso cURL, o segundo é o número total de bytes esperados no recebimento desta transferência, o terceiro é o número de bytes já recebidos, o quarto é o número total de bytes esperados no envio desta transferência e o quinto é o número de bytes já enviados.

Nota:

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

Retorne um valor não-zero para abortar a transferência. Neste caso, a transferência definirá um erro CURLE_ABORTED_BY_CALLBACK.

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. Isto permite que se tenha uma libcurl construída para suportar uma ampla gama de protocolos mas ainda limitar transferências específicas para que possam usar somente um subconjunto deles. Por padrão, a libcurl irá aceitar todos os protocolos que ela suporta. Consulte também CURLOPT_REDIR_PROTOCOLS. Opções válidas de protocolo são: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_MQTT e CURLPROTO_ALL. Disponível a partir do cURL 7.19.4.

CURLOPT_PROTOCOLS_STR (int)

Disponível a partir do PHP 8.3.0 e cURL 7.85.0

CURLOPT_PROXY (int)

O proxy HTTP através do qual as requisições serão enviadas.

CURLOPT_PROXYAUTH (int)

O(s) método(s) de autenticação para usar na conexão ao proxy. Use as mesmas máscaras de bits descritas em CURLOPT_HTTPAUTH. Para autenticação no proxy, somente CURLAUTH_BASIC e CURLAUTH_NTLM são suportadas atualmente. Disponível a partir do cURL 7.10.7.

CURLOPT_PROXYHEADER (int)

Um array 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)

O número da porta do proxy para conexão. Este número de porta também pode ser definido em CURLOPT_PROXY.

CURLOPT_PROXYTYPE (int)

Pode ser CURLPROXY_HTTP (padrão), CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A ou CURLPROXY_SOCKS5_HOSTNAME. 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)

Um nome de usuário e senha formatados como "[usuário]:[senha]" para usar na conexão ao proxy.

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 da libcurl esteja armazanado. Disponível a partir do PHP 7.3.0 e cURL 7.52.0

CURLOPT_PROXY_CAINFO_BLOB (int)

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 da libcurl esteja armazanado. Disponível a partir do PHP 8.2.0 e cURL 7.77.0

CURLOPT_PROXY_CAPATH (int)

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)

Define 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)

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)

Certificado SSL do emissor do proxy do blob de memória. 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. O formato de arquivo esperado é "PEM" ou "DER". A string também pode ser qualquer número de hashes sha256 codificados em base64 precedidos por "sha256//" e separados por ";". Disponível a partir do PHP 7.3.0 e cURL 7.52.0

CURLOPT_PROXY_SERVICE_NAME (int)

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)

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 com o qual se deseja autenticar, 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)

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)

Certificado de cliente proxy SSL do blob de memória. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_SSLKEY (int)

O nome do arquivo da sua 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)

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

CURLOPT_PROXY_SSLKEY_BLOB (int)

Chave privada para certificado de proxy do blob de memória. Disponível a partir do PHP 8.1.0 e cURL 7.71.0.

CURLOPT_PROXY_SSLVERSION (int)

Uma destas constantes: CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_MAX_DEFAULT, CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3, CURL_SSLVERSION_SSLv3 .

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)

A lista de cifras a serem usadas para a conexão com o proxy HTTPS. A lista deve estar sintaticamente correta e consiste em uma ou mais strings de cifras separadas por dois pontos. Vírgulas ou espaços também são separadores aceitáveis, mas normalmente são usados ​​dois pontos. "!", "-" 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 seguintes constantes: CURLSSLOPT_ALLOW_BEAST, CURLSSLOPT_NO_REVOKE, CURLSSLOPT_NO_PARTIALCHAIN 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! 1 tratado como uma opção de depuração no curl 7.28.0 e versões anteriores. Do curl 7.28.1 a 7.65.3, CURLE_BAD_FUNCTION_ARGUMENT é retornado. Do curl 7.66.0 em diante, 1 e 2 são tratados como o mesmo valor. Em ambientes de produção o valor desta opção deve ser mantido em 2 (valor padrão). Disponível a partir do PHP 7.3.0 e cURL 7.52.0

CURLOPT_PROXY_SSL_VERIFYPEER (int)

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 definido para 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)

A lista de conjuntos de criptografia a serem usados ​​para a conexão TLS 1.3 com um proxy. A lista deve estar sintaticamente correta e consiste em uma ou mais sequências de conjuntos de cifras separadas por dois pontos. Esta opção é usada atualmente apenas quando curl é compilado para usar OpenSSL 1.1.1 ou posterior. Se um SSL diferente estiver sendo usado, pode-se tentar configurar conjuntos de criptografia TLS 1.3 usando a opção CURLOPT_PROXY_SSL_CIPHER_LIST. Disponível quando compilado com OpenSSL >= 1.1.1. Disponível a partir do PHP 7.3.0 e cURL 7.61.0

CURLOPT_PROXY_TLSAUTH_PASSWORD (int)

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, deve-se também definir as opções CURLOPT_PROXY_TLSAUTH_USERNAME e CURLOPT_PROXY_TLSAUTH_PASSWORD.

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_INFILE e CURLOPT_INFILESIZE.

CURLOPT_QUICK_EXIT (int)

Disponível a partir do PHP 8.3.0 e cURL 7.87.0

CURLOPT_QUOTE (int)

Um array de comandos FTP a executar no servidor antes da requisição FTP.

CURLOPT_RANDOM_FILE (int)

Um nome de arquivo a ser usado para semear o gerador de números aleatórios para o SSL.

CURLOPT_RANGE (int)

Faixa(s) de dados a buscar 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".

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 que aceita três parâmetros. O primeiro é o recurso cURL, o segundo é um recurso de fluxo fornecido ao cURL através da opção CURLOPT_INFILE e o terceiro é 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 recurso de fluxo passado. Deve retornar uma string vazia para sinalizar EOF.

CURLOPT_REDIR_PROTOCOLS (int)

Máscara de bits de valores CURLPROTO_*. Se usada, esta máscara de bits limita quais protocolos a libcurl pode usar em uma transferência que segue em um redirecionamento quando CURLOPT_FOLLOWLOCATION está habilitado. Isso permite que se limite transferências específicas para usar apenas um subconjunto de protocolos em redirecionamentos. Por padrão, a libcurl permitirá todos os protocolos, exceto FILE e SCP. Esta é uma diferença em comparação com as versões anteriores à 7.19.4 que seguiriam incondicionalmente todos os protocolos suportados. Veja também CURLOPT_PROTOCOLS para valores constantes de protocolo. Disponível a partir do cURL 7.19.4.

CURLOPT_REDIR_PROTOCOLS_STR (int)

Disponível a partir do PHP 8.3.0 e cURL 7.85.0.

CURLOPT_REFERER (int)

O conteúdo do cabeçalho "Referer: " a ser usado em uma requisição HTTP.

CURLOPT_REQUEST_TARGET (int)

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

CURLOPT_RESOLVE (int)

Fornece um endereço personalizado para um par específico de servidor e porta. Um array de strings de nome de servidor, porta e endereço IP, cada elemento separado por dois pontos. No formato: array("example.com:80:127.0.0.1") 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.

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 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)

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.

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. Um operador binário | (OU) pode ser usado para combinar mais de um método. Se isto for feito, o cURL irá interrogar o servidor para ver que métodos ele suporta, e escolherá o melhor. CURLAUTH_BASIC permite autenticação com usuário/senha. CURLAUTH_GSSAPI permite autenticação GSS-API. CURLAUTH_NONE permite que não haja autenticação. 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 opções CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST e CURLSSH_AUTH_KEYBOARD. Defina para CURLSSH_AUTH_ANY para deixar a libcurl escolher um. Disponível a partir do cURL 7.16.1.

CURLOPT_SSH_COMPRESSION (int)

true para habilitar a compressão SSH interna. Isto é uma requisição, não uma ordem; o servidor poderá ou não fazê-lo. Disponível a partir do PHP 7.3.0 e cURL 7.56.0

CURLOPT_SSH_HOSTKEYFUNCTION (int)

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. A string deve ser a soma de verificação MD5 da chave pública do servidor remoto, e a libcurl 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)

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 da chave privada. Se não for usado, o padrão da libcurl é $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 da chave pública. Se não for usado, o padrão da libcurl é $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.

CURLOPT_SSLCERTPASSWD (int)

A senha requerida para usar o certificado CURLOPT_SSLCERT.

CURLOPT_SSLCERTTYPE (int)

O formato do certificado. Formatos suportados são "PEM" (default), "DER" e "ENG". A partir do OpenSSL 0.9.3, "P12" (para arquivos codificados em PKCS#12) também é suportado. Disponível a partir do cURL 7.9.3.

CURLOPT_SSLCERT_BLOB (int)

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)

O identificador do mecanismo de criptografia da chave SSL privada especificada em CURLOPT_SSLKEY.

CURLOPT_SSLENGINE_DEFAULT (int)

O identificador do mecanismo de criptografia usado para operações de criptografia assimétricas.

CURLOPT_SSLKEY (int)

O nome de um arquivo que contém uma chave SSL privada.

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.

CURLOPT_SSLKEYTYPE (int)

O tipo de chave da chave SSL privada especificada em CURLOPT_SSLKEY. Tipos de chave suportados são "PEM" (default), "DER" e "ENG".

CURLOPT_SSLKEY_BLOB (int)

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_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_SSLv2, CURL_SSLVERSION_SSLv3, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3 . A versão máxima do TLS pode ser definida usando uma das constantes CURL_SSLVERSION_MAX_*. Também é possível operação binária OR de uma das constantes CURL_SSLVERSION_* com uma das constantes CURL_SSLVERSION_MAX_*. CURL_SSLVERSION_MAX_DEFAULT (a versão máxima suportada pela biblioteca), CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3 .

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.

CURLOPT_SSL_CIPHER_LIST (int)

Uma lista de cifras a serem usadas para SSL. Por exemplo, RC4-SHA e TLSv1 são listas de cifras válidas.

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 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_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 início falso do TLS. 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 seguintes constantes: CURLSSLOPT_ALLOW_BEAST, CURLSSLOPT_NO_REVOKE, CURLSSLOPT_AUTO_CLIENT_CERT, CURLSSLOPT_NATIVE_CA, CURLSSLOPT_NO_PARTIALCHAIN, CURLSSLOPT_REVOKE_BEST_EFFORT 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.

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 instalado a partir do cURL 7.10.

CURLOPT_SSL_VERIFYSTATUS (int)

true para verificar o status do certificado. Disponível a partir do PHP 7.0.7 e cURL 7.41.0

CURLOPT_STDERR (int)

Uma localização alternativa para enviar os erros no lugar de STDERR.

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. Disponível a partir do PHP 7.3.0 e cURL 7.54.0

CURLOPT_TCP_FASTOPEN (int)

true para habilitar 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. 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_NODELAY (int)

true para desabilitar o algoritmo Nagle do TCP, que tenta minimizar o número de pacotes pequenos na rede. 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.

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. Disponível a partir do PHP 7.0.7 e 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.

CURLOPT_TIMEOUT (int)

O número máximo de segundos para permitir a execução de funções cURL.

CURLOPT_TIMEOUT_MS (int)

O número máximo de milissegundos para permitir a execução de funções cURL. Se a libcurl for compilada 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. 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.

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)

A lista de conjuntos de criptografia a serem usados ​​para a conexão TLS 1.3. A lista deve estar sintaticamente correta e consiste em uma ou mais sequências de conjuntos de cifras separadas por dois pontos. Esta opção é usada atualmente apenas quando o cURL é compilado para usar OpenSSL 1.1.1 ou posterior. Se você estiver usando um SSL diferente, pode-se tentar configurar conjuntos de criptografia TLS 1.3 usando a opção CURLOPT_SSL_CIPHER_LIST. Disponível quando compilado com OpenSSL >= 1.1.1. 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.

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. 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.

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 é 60 segundos. Disponível a partir do PHP 8.2.0 e cURL 7.62.0

CURLOPT_UPLOAD (int)

true para se preparar para um envio.

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().

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 seguintes constantes: CURLUSESSL_NONE, CURLUSESSL_TRY, CURLUSESSL_CONTROL ou CURLUSESSL_ALL. 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.

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.

CURLOPT_VERBOSE (int)

true para gerar informações detalhadas. Grava a saída em STDERR ou no arquivo especificado usando CURLOPT_STDERR.

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 que aceita dois parâmetros. O primeiro é o recurso cURL e o segundo é uma string com os dados a serem gravados. Os dados devem ser salvos por esta função de retorno. Deve retornar o número exato de bytes gravados ou a transferência será abortada com erro.

CURLOPT_WRITEHEADER (int)

O arquivo no qual a parte do cabeçalho da transferência é gravada.

CURLOPT_WS_OPTIONS (int)

Disponível a partir do PHP 8.3.0 e cURL 7.86.0

CURLOPT_XFERINFOFUNCTION (int)

Uma função de retorno que aceita dois parâmetros. Tem uma finalidade semelhante a CURLOPT_PROGRESSFUNCTION mas é mais moderna e é a opção preferida do cURL. Disponível a partir do PHP 8.2.0 e cURL 7.32.0.

CURLOPT_XOAUTH2_BEARER (int)

Especifica o token de acesso do OAuth 2.0. Disponível a partir do PHP 7.0.7 e cURL 7.33.0

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.0
Compartilha/descompartilha dados de cookies.
CURL_LOCK_DATA_DNS (int) Compartilha/descompartilha cache DNS. Observe que quando você usa vários identificadores cURL, todos os identificadores adicionados ao mesmo identificador múltiplo compartilharão o cache DNS por padrão.
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.
CURLSHOPT_NONE (int)
CURLSHOPT_SHARE (int) Especifica um tipo de dados que deve ser compartilhado.
CURLSHOPT_UNSHARE (int) Especifica um tipo de dados que não será mais compartilhado.
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.
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)
CURLPROTO_DICT (int)
CURLPROTO_FILE (int)
CURLPROTO_FTP (int)
CURLPROTO_FTPS (int)
CURLPROTO_GOPHER (int)
CURLPROTO_HTTP (int)
CURLPROTO_HTTPS (int)
CURLPROTO_IMAP (int)
CURLPROTO_IMAPS (int)
CURLPROTO_LDAP (int)
CURLPROTO_LDAPS (int)
CURLPROTO_MQTT (int) Disponível a partir do PHP 8.2.0 e cURL 7.71.0.
CURLPROTO_POP3 (int)
CURLPROTO_POP3S (int)
CURLPROTO_RTMP (int)
CURLPROTO_RTMPE (int)
CURLPROTO_RTMPS (int)
CURLPROTO_RTMPT (int)
CURLPROTO_RTMPTE (int)
CURLPROTO_RTMPTS (int)
CURLPROTO_RTSP (int)
CURLPROTO_SCP (int)
CURLPROTO_SFTP (int)
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)
CURLPROTO_SMTPS (int)
CURLPROTO_TELNET (int)
CURLPROTO_TFTP (int)
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.
CURLM_BAD_HANDLE (int) O identificador passado não é um identificador múltiplo válido.
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.
CURLM_INTERNAL_ERROR (int) Erro interno libcurl.
CURLM_OK (int) Sem erros.
CURLM_OUT_OF_MEMORY (int) Ficou sem memória ao processar vários identificadores.
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.
add a note

User Contributed Notes 5 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
9
uramihsayibok, gmail, com
9 years ago
Regarding CURLE_OPERATION_TIMEDOUT vs. CURLE_OPERATION_TIMEOUTED:

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

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

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

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

or

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

to be removed once you stop supporting them.

[1] https://github.com/bagder/curl/commit/9f44a95522162c0f4a61093efe1bf1f58b087358#diff-d8c6cb80505e0f7d5e27fca2a682aa34L119
[2] https://github.com/php/php-src/commit/9ab45d3edbafa3ee751472c3f8d1fb3f51f38cf1#diff-ac978e3de205f1d14eb960e0eb15ef24R723
up
17
s dot coletta at unidata dot it
14 years ago
Beware of CURLE_* constants!

On the official site:

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

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

Some examples:

in PHP the curl error number 28 is called

CURLE_OPERATION_TIMEOUTED

while in the official site is:

CURLE_OPERATION_TIMEDOUT

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

The same is for these:

CURLE_HTTP_RETURNED_ERROR
CURLE_UPLOAD_FAILED
CURLE_INTERFACE_FAILED
CURLE_SSL_CERTPROBLEM
CURLE_SEND_FAIL_REWIND
CURLE_LOGIN_DENIED
CURLE_AGAIN

that are in someway named differently or missing from PHP.
up
8
Ron
17 years ago
<?
/*
* Author: Ron
* Released: August 4, 2007
* Description: An example of the disguise_curl() function in order to grab contents from a website while remaining fully camouflaged by using a fake user agent and fake headers.
*/

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

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

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

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

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

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

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

~Ron
up
0
jrschlosser
6 years ago
In PHP version 7.1.11 there is also constants for HTTP/2 :
CURL_VERSION_HTTP2 = 65536 (1 << 16)
CURL_HTTP_VERSION_2_0 = 3

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