Top Qs
Linha do tempo
Chat
Contexto

CURL

Da Wikipédia, a enciclopédia livre

Remove ads

O cURL (pronuncia-se [kɜːrl];[2] acrônimo de "client-URL"[3]) é uma interface de linha de comando (CLI) de código aberto para transferência de arquivos entre o computador cliente e o servidor usando vários protocolos (função de upload/download),[4] desenvolvida pelo sueco Daniel Stenberg em 1997,[5] 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).

Factos rápidos Desenvolvedor, Plataforma ...
Remove ads

libcurl

Resumir
Perspectiva

Lançado em 1997, o nome cURL vem do inglês "client-URL", que em português significa "URL do cliente".[3] O autor original e principal desenvolvedor é o 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.

Remove ads

cURL

Resumir
Perspectiva

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:

  1. Diretório onde o programa cURL está localizado.
  2. Diretório de trabalho atual.
  3. Diretório do sistema do Windows.
  4. Diretório do Windows.
  5. 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.

Remove ads

Exemplo

Resumir
Perspectiva

Exemplo de uso usando a linguagem php:[11]

<?php
$ch = curl_init();

// configura a URL e outras opções
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// executa o comando curl, passa a URL ao navegador de internet
curl_exec($ch);

// fecha a conexão
curl_close($ch);
?>

Exemplo de uso usando função em php e cabeçalhos cURL:[11]

<?php
$url = 'http://www.php.net';

function disguise_curl($url) {
$curl = curl_init();

// configuração dos cabeçalhos (baseado no firefox versão 2.0.0.6 )
$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);

// executa o comando curl
$html = curl_exec($curl);
// fecha a conexão
curl_close($curl); 
return $html;
}

// função que exibe o texto no site
$text = disguise_curl($url);
echo $text;
?>

Ver também

Referências

Ligações externas

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads