cURL
| |
---|---|
Desenvolvedor | Contributors to the cURL project |
Plataforma | IA-32, x64 |
Lançamento | 1997 |
Versão estável | 8.15.0[1]![]() |
Licença | Free Software: MIT/X derivate license |
O cURL (pronuncia-se [kɜːrl];[2] "client-URL"[3]) é uma interface de linha de comando (CLI) de código aberto para transferência de arquivos entre cliente e servidor usando vários protocolos (função de upload/download),[4] para fazer testes em API e, para o desenvolvedor e o administrador de sistemas fazer uma interação eficiente e simples. É formado por uma biblioteca/subprogramas (libcurl) e uma ferramenta de linha de comando (curl). Lançado em 1997 e desenvolvido pelo sueco Daniel Stenberg.[5]
libcurl
[editar | editar código fonte]Lançado em 1997, o nome cURL vem do inglês "client-URL", que m português significa "URL do cliente".[3] O autor original e principal desenvolvedor é sueco Daniel Stenberg.[5]
A libcurl é uma biblioteca grátis, multi-plataforma e com API, para transferência de URL do lado do cliente,[6][7] suportando cookies, DICT, FTP, FTPS, Gopher, HTTP (com suporte a HTTP/2 ), HTTP POST, HTTP PUT, proxy HTTP, HTTPS, IMAP, Kerberos, LDAP, POP3, RTSP, SCP e SMTP. A biblioteca suporta o esquema URI de arquivos, SFTP, Telnet, TFTP, retomada de transferência de arquivos, upload de FTP, upload baseado em formulário HTTP, certificados HTTPS, LDAPS, proxies e autenticação de usuário. Suporta: axTLS,[8] GnuTLS, mbed TLS, NSS, QSOSSL no IBM i, SChannel no Windows, Secure Transport no macOS e iOS, SSL / TLS pelo OpenSSL, e wolfSSL.
A biblioteca libcurl é portável e, funciona de forma idêntica em muitas plataformas, incluindo AIX, AmigaOS, Android , BeOS, BlackBerry Tablet OS e BlackBerry 10,[9] OpenVMS, Darwin, DOS, FreeBSD, HP-UX, HURD, iOS, IRIX, Linux, MacOS , NetBSD, NetWare, OpenBSD, OS / 2, QNX Neutrino, SO RISC, Solaris, Symbian, Tru64, Ultrix, UnixWare e Windows.
A biblioteca libcurl e thread-safe (execução segura em várias threads), e compatível com IPv6. Vinculações estão disponíveis para mais de 40 linguagens, incluindo: C/C++, Java, PHP e Python.
cURL
[editar | editar código fonte]cURL é uma ferramenta de linha de comando utilizada para obter ou enviar dados, incluindo arquivos, usando a sintaxe URL. Também cria um script que emita automaticamente várias solicitações de API e, armazena as respostas em arquivo.
Por utilizar a biblioteca libcurl, cURL suporta vários protocolos de rede comuns, incluindo HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, ARQUIVO, IMAP, POP3, SMTP e RTSP (os quatro últimos apenas em versões mais recentes que 7.20.0 ou 9 de fevereiro de 2010).
O cURL suporta HTTPS e executa a verificação de certificado SSL por padrão quando um protocolo seguro é especificado, como HTTPS. Quando o cURL se conecta a um servidor remoto via HTTPS, ele obtém o certificado do servidor remoto e verifica em seu armazenamento de certificados CA a validade do mesmo, de modo a garantir que o servidor remoto seja aquele que afirma ser. Alguns pacotes cURL são embutidos com um arquivo que armazena os certificados CA. Existem várias opções para especificar um certificado de CA, como --cacert
e --capath
. A opção --cacert
pode ser usada para especificar o local do arquivo onde o certificado CA está armazenado. Na plataforma Windows, se um arquivo de certificado de CA não for especificado, o cURL procurará por um arquivo com nome “curl-ca-bundle.crt” na seguinte ordem:
- Diretório onde o programa cURL está localizado.
- Diretório de trabalho atual.
- Diretório do sistema do Windows.
- Diretório do Windows.
- Diretórios especificados nas variáveis de ambiente %PATH%.[10]
O cURL retornará uma mensagem de erro se o servidor remoto estiver usando um certificado autoassinado ou se o certificado do servidor remoto não estiver assinado por uma CA listada no arquivo de certificado da CA. A
opção -k
ou --insecure
pode ser usada para pular a verificação de certificados. Como alternativa, se o servidor remoto for confiável, o certificado CA do servidor remoto poderá ser adicionado ao arquivo de armazenamento dos certificados CA.
Ver também
[editar | editar código fonte]- curl-loader - uma ferramenta de teste de código aberto baseada em cURL
- libwww
- Wget
- Rastreador da Web
- Powershell IWR
Referências
[editar | editar código fonte]- ↑ "curl 8.15.0"; nome do autor: Daniel Stenberg; língua da obra ou do nome: inglês; data de publicação: 16 julho 2025; data de acesso: 16 julho 2025.
- ↑ «curl - Frequently Asked Questions». curl.se. Consultado em 20 de agosto de 2025
- ↑ a b «Origin of the name». curl.haxx.se/ (em inglês)
- ↑ «Curl declara guerra aos relatórios de bugs gerados por IA». 12 de maio de 2025. Consultado em 20 de agosto de 2025
- ↑ a b «curl, 17 years old today». Daniel Haxx
- ↑ «Conversing through the Internet with cURL and libcurl - Using libcurl with C and Python». IBM Developerworks
- ↑ «curl vs Wget». daniel.haxx.se. Consultado em 20 de agosto de 2025
- ↑ «axTLS Embedded SSL». Axtls Sourceforge. Consultado em 20 de agosto de 2025
- ↑ «Open Source Components for the Native SDK for BlackBerry® Tablet OS». Blackberry Github. Consultado em 20 de agosto de 2025. Cópia arquivada em 27 de janeiro de 2013
- ↑ «curl». SSL CA Certificates (em inglês). Consultado em 20 de agosto de 2025
Ligações externas
[editar | editar código fonte]- Sítio oficial
- Comparação de cURL vs outras ferramentas de download de código aberto
- Comparação de cURL vs wget