{"id":15180,"date":"2019-03-13T15:37:40","date_gmt":"2019-03-13T18:37:40","guid":{"rendered":"https:\/\/blog.hostinger.io\/pt-tutoriais\/?p=15180"},"modified":"2023-07-07T20:35:32","modified_gmt":"2023-07-07T23:35:32","slug":"comando-curl-linux","status":"publish","type":"post","link":"\/pt\/tutoriais\/comando-curl-linux","title":{"rendered":"O que \u00e9 comando cURL e como usar?"},"content":{"rendered":"<p><span style=\"font-weight: 400\">O que &eacute; <strong>Comando Curl<\/strong>? &Eacute; um comando dispon&iacute;vel na maioria dos sistemas baseado em Unix. Ele &eacute; usado como abrevia&ccedil;&atilde;o para &ldquo;Client URL&rdquo;. Comandos Curl s&atilde;o destinados para funcionar como uma forma de verificar a conectividade da URL, al&eacute;m de ser uma &oacute;tima ferramenta de transfer&ecirc;ncia de dados. Vamos ver como voc&ecirc; poder&aacute; usar o Comando Curl.<\/span><\/p><p><span style=\"font-weight: 400\">O Comando Curl suporta a lista de protocolos abaixo: <\/span><\/p><ul class=\"wp-block-list\">\n<li>HTTP e HTTPS;<\/li>\n\n\n\n<li>FTP e FTPS;<\/li>\n\n\n\n<li>IMAP e IMAPS;<\/li>\n\n\n\n<li>POP3 e POP3S;<\/li>\n\n\n\n<li>SMB e SMBS;<\/li>\n\n\n\n<li>SFTP;<\/li>\n\n\n\n<li>SCP;<\/li>\n\n\n\n<li>TELNET;<\/li>\n\n\n\n<li>GOPHER;<\/li>\n\n\n\n<li>LDAP e LDAPS;<\/li>\n\n\n\n<li>SMTP e SMTPS.<\/li>\n<\/ul><p><span style=\"font-weight: 400\">Estes s&atilde;o os protocolos mais importantes suportados, mas existem outros tamb&eacute;m. Curl &eacute; empoderado por <em>libcurl<\/em>, que &eacute; uma biblioteca de transfer&ecirc;ncia URL gratuita para o cliente.<\/span><\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-BR.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR-1024x283.png\" alt=\"\" class=\"wp-image-30351\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR-300x83.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR-150x41.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR-768x212.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/Linux-cheat-sheet-BR-1536x425.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-verificar-versao-curl\"><b>Verificar Vers&atilde;o Curl<\/b><\/h2><p><span style=\"font-weight: 400\">Antes de come&ccedil;ar a trabalhar com Curl, &eacute; preciso fazer login no seu <a href=\"\/pt\/alojamento-vps\"><strong>servidor dedicado Linux<\/strong><\/a> (VPS). Se voc&ecirc; precisa de ajuda, veja este tutorial <\/span><strong><a href=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/como-se-conectar-servidor-vps-usando-terminal-ssh\/\" target=\"_blank\" rel=\"noopener\">sobre SSH<\/a><\/strong><span style=\"font-weight: 400\">. <\/span><\/p><p><span style=\"font-weight: 400\">Primeiro vamos ver qual vers&atilde;o do Curl est&aacute; dispon&iacute;vel usando o seguinte comando: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl --version<\/span><\/pre><p><span style=\"font-weight: 400\">A sa&iacute;da mostrar&aacute; a vers&atilde;o Curl com lista de protocolos suportados. Agora vamos ver alguns exemplos de comandos curl.<\/span><\/p><h3 class=\"wp-block-heading\" id=\"h-comando-curl-sintaxe-basica\"><b>Comando Curl &ndash; Sintaxe B&aacute;sica<\/b><\/h3><p><span style=\"font-weight: 400\">Vamos aprender como usar comandos curl. A sintaxe b&aacute;sica do curl se parece com isto: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl [OPTIONS] [URL]<\/span><\/pre><p><span style=\"font-weight: 400\">O uso mais simples do curl &eacute; para mostrar o conte&uacute;do de uma p&aacute;gina. O exemplo abaixo ir&aacute; renderizar a p&aacute;gina inicial de <\/span><b>testdomain.com<\/b><span style=\"font-weight: 400\">.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl testdomain.com<\/span><\/pre><p><span style=\"font-weight: 400\">Isto renderizar&aacute; o c&oacute;digo-fonte completo da p&aacute;gina inicial do dom&iacute;nio. Se nenhum protocolo foi especificado, o curl interpretar&aacute; como HTTP. <\/span><\/p><h3 class=\"wp-block-heading\" id=\"h-opcoes-de-comandos-curl-de-arquivos\"><b>Op&ccedil;&otilde;es de Comandos Curl de Arquivos<\/b><\/h3><p><span style=\"font-weight: 400\">Comandos curl podem fazer downloads de arquivos de um local remoto. Voc&ecirc; pode fazer isto de duas formas:<\/span><\/p><ul class=\"wp-block-list\">\n<li><strong>-O<\/strong> vai salvar o arquivo no diret&oacute;rio atual em funcionamento com o mesmo nome do arquivo remoto.<\/li>\n\n\n\n<li><strong>-o<\/strong> permite especificar um nome de diferente de arquivo ou local.<\/li>\n<\/ul><p><span style=\"font-weight: 400\">Abaixo, mostramos um exemplo disso: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -O http:\/\/testdomain.com\/testfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">O comando acima vai salvar isto como <\/span><b>testfile.tar.gz<\/b><span style=\"font-weight: 400\">.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -o newtestfile.tar.gz http:\/\/testdomain.com\/testfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">O comando acima vai salvar isto como <\/span><b>newtestfile.tar.gz<\/b><span style=\"font-weight: 400\">.<\/span><\/p><p><span style=\"font-weight: 400\">Se por alguma raz&atilde;o, o download for interrompido, voc&ecirc; pode reinici&aacute;-lo usando curl. Voc&ecirc; pode fazer isto com o seguinte comando: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -C - -O &nbsp;http:\/\/testdomain.com\/testfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">Usando curl, n&oacute;s podemos fazer download de m&uacute;ltiplos arquivos, como mostramos abaixo:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -O http:\/\/testdomain.com\/testfile.tar.gz -O http:\/\/mydomain.com\/myfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">Se voc&ecirc; quer fazer o download de diversos arquivos de uma URL m&uacute;ltipla, liste todas elas em um arquivo. Comandos curl podem ser combinados com xargs para fazer o download de diferentes URL.<\/span><\/p><p><span style=\"font-weight: 400\">Por exemplo, se tivermos um arquivo chamado <\/span><b>allUrls.txt<\/b><span style=\"font-weight: 400\"> que cont&eacute;m uma lista de todas URLs para serem baixadas, ent&atilde;o o exemplo abaixo pode ser usado para fazer download de todos os arquivos.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">xargs &ndash;n 1 curl -O &lt; allUrls.txt<\/span><\/pre><h3 class=\"wp-block-heading\" id=\"h-comandos-curl-para-http\"><b>Comandos Curl para HTTP<\/b><\/h3><p><span style=\"font-weight: 400\">Curl tamb&eacute;m pode ser usado quando h&aacute; um proxy server. Se voc&ecirc; est&aacute; atr&aacute;s de um proxy server listado no port&atilde;o 8090 de sampleproxy.com, fa&ccedil;a download dos arquivos como mostra abaixo:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -x &nbsp;sampleproxy.com:8090 -U username:password -O http:\/\/ testdomain.com\/testfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">No exemplo acima, voc&ecirc; pode pular <\/span><b>-U username:password<\/b><span style=\"font-weight: 400\"> se o proxy n&atilde;o requer um m&eacute;todo de autentica&ccedil;&atilde;o.<\/span><\/p><p><span style=\"font-weight: 400\">Uma solicita&ccedil;&atilde;o t&iacute;pica de HTTP sempre vai ter um cabe&ccedil;alho. O cabe&ccedil;alho do HTTP envia as informa&ccedil;&otilde;es adicionais sobre o servidor remoto junto com a solicita&ccedil;&atilde;o atual. Mesmo que atrav&eacute;s de uma ferramenta de navegador do desenvolvedor voc&ecirc; possa verificar a informa&ccedil;&atilde;o, tamb&eacute;m pode faz&ecirc;-lo usando uma url de comando. <\/span><\/p><p><span style=\"font-weight: 400\">Abaixo est&aacute; um exemplo de como recuperar informa&ccedil;&otilde;es de um site.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -I www.testdomain.com<\/span><\/pre><p><span style=\"font-weight: 400\">Usando curl, voc&ecirc; pode fazer um <\/span><b>GET<\/b><span style=\"font-weight: 400\"> e um <\/span><b>POST request<\/b><span style=\"font-weight: 400\">. A <\/span><b>GET<\/b><span style=\"font-weight: 400\"> request ser&aacute; como abaixo: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl http:\/\/mydomain.com<\/span><\/pre><p><span style=\"font-weight: 400\">Um <\/span><b>POST<\/b><span style=\"font-weight: 400\"> request ser&aacute; como mostramos aqui:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl &ndash;data &ldquo;text=Hello&rdquo; https:\/\/myDomain.com\/firstPage.jsp<\/span><\/pre><p><span style=\"font-weight: 400\">No <\/span><b>text=Hello<\/b><span style=\"font-weight: 400\"> est&aacute; par&acirc;metro de POST request. este comportamento ser&aacute; similar aos formul&aacute;rios HTML. <\/span><\/p><p><span style=\"font-weight: 400\">Voc&ecirc; tamb&eacute;m pode especificar m&eacute;todos m&uacute;ltiplos de HTTP em um &uacute;nico comando curl. Fa&ccedil;a isso usando a op&ccedil;&atilde;o <\/span><b>&ndash;next<\/b><span style=\"font-weight: 400\">, como esta:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl &ndash;data &ldquo;text=Hello&rdquo; https:\/\/myDomain.com\/firstPage.jsp --next https:\/\/myDomain.com\/displayResult.jsp<\/span><\/pre><p><span style=\"font-weight: 400\">Aqui, h&aacute; um POST request seguido por um GET request.<\/span><\/p><p><span style=\"font-weight: 400\">Toda solicita&ccedil;&atilde;o HTTP ter&aacute; um agente usu&aacute;rio que &eacute; enviado como parte da solicita&ccedil;&atilde;o. Isto indica que os detalhes do navegador do cliente. Por padr&atilde;o, uma solicita&ccedil;&atilde;o curl cont&eacute;m o curl e detalhes do n&uacute;mero da vers&atilde;o do agente usu&aacute;rio. A sa&iacute;da &eacute; como mostramos abaixo: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">&ldquo;GET \/ HTTP\/1.1&rdquo; 200 &ldquo;_&rdquo; &rdquo;curl\/7\/29\/0&rdquo;<\/span><\/pre><p><span style=\"font-weight: 400\">Voc&ecirc; pode alterar esta informa&ccedil;&atilde;o de agente de usu&aacute;rio padr&atilde;o usando o comando abaixo: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -I http:\/\/mydomain.com &ndash;-user-agent &ldquo;My new Browser&rdquo;<\/span><\/pre><p><span style=\"font-weight: 400\">Agora a sa&iacute;da alterada ser&aacute;: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">&ldquo;GET \/ HTTP\/1.1&rdquo; 200 &ldquo;_&rdquo; &rdquo;My new Browser&rdquo;<\/span><\/pre><h3 class=\"wp-block-heading\" id=\"h-curl-para-cookies\"><b>Curl para Cookies<\/b><\/h3><p><span style=\"font-weight: 400\">Comandos Curl podem ser usados para verificar quais os cookies s&atilde;o baixados em qualquer &nbsp;URL. Ent&atilde;o, se voc&ecirc; est&aacute; acessando <\/span><b>https:\/\/www.samplewebsite.com<\/b><span style=\"font-weight: 400\">, ent&atilde;o voc&ecirc; pode imprimir um arquivo, salvar os cookies e acess&aacute;-lo usando cat ou editor VM.<\/span><\/p><p><span style=\"font-weight: 400\">Abaixo voc&ecirc; v&ecirc; um exemplo do comando: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl --cookie-jar Mycookies.txt https:\/\/www.samplewebsite.com \/index.html -O<\/span><\/pre><p><span style=\"font-weight: 400\">Similar a isto, se voc&ecirc; tiver cookies em um arquivo, ent&atilde;o voc&ecirc; pode envi&aacute;-lo para o site. Veja o exemplo abaixo: <\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl --cookie Mycookies.txt https:\/\/www. samplewebsite.com<\/span><\/pre><h3 class=\"wp-block-heading\" id=\"h-curl-para-ftp\"><b>Curl para FTP<\/b><\/h3><p><span style=\"font-weight: 400\">Comandos curl <a href=\"\/tutoriais\/ftp-o-que-e-como-funciona\">suportam FTP<\/a>! Voc&ecirc; podem us&aacute;-los para baixar arquivos de um servidor remoto.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -u username:password -O ftp:\/\/sampleftpserver\/testfile.tar.gz<\/span><\/pre><p><span style=\"font-weight: 400\">No comando acima, <\/span><b>ftp:\/\/sampleftpserver<\/b><span style=\"font-weight: 400\"> &eacute; um servidor FTP que aceita conex&otilde;es. O nome do usu&aacute;rio e senha podem ser ignorados por conex&otilde;es FTP an&ocirc;nimas. Digite o comando e veja a barra de progresso ser preenchida.<\/span><\/p><p><span style=\"font-weight: 400\">Voc&ecirc; pode subir arquivos da mesma forma com os comandos abaixo:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl -u username:password -T testfile.tar.gz ftp:\/\/sampleftpserver<\/span><\/pre><p><span style=\"font-weight: 400\">De novo, podemos podemos ignorar nome do usu&aacute;rio e senha por conex&otilde;es FTP an&ocirc;nimas.<\/span><\/p><h3 class=\"wp-block-heading\" id=\"h-limitando-saidas-curl\"><b>Limitando Sa&iacute;das Curl<\/b><\/h3><p><span style=\"font-weight: 400\">Ao usar curl voc&ecirc; n&atilde;o pode saber o tamanho das sa&iacute;das. Voc&ecirc; pode restringir a largura de banda para garantir que n&atilde;o ser&aacute; esmagado pelo curl.<\/span><\/p><p><span style=\"font-weight: 400\">O comando abaixo restringe a largura de banda em 100K:<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">curl --limit-rate 100K http:\/\/testdomain.com\/samplefile.tar.gz -O<\/span><\/pre><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/alojamento-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1024x300.png\" alt=\"\" class=\"wp-image-32923\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-VPS-hosting_in-text-banner-1-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-resumo\"><b>Resumo<\/b><\/h2><p><span style=\"font-weight: 400\">Curl &eacute; um <a href=\"\/tutoriais\/lista-de-comandos-basicos-ssh\/\"><strong>comando<\/strong><\/a> inteligente e poderoso. &Eacute; muito &uacute;til quando voc&ecirc; depende de <\/span><a href=\"\/tutoriais\/o-que-e-cli\"><strong>linhas de comando<\/strong><\/a><span style=\"font-weight: 400\">. Ele tem diversas op&ccedil;&otilde;es e suporta protocolos m&uacute;ltiplos. Esta &eacute; uma &oacute;tima raz&atilde;o para aprender este comando. <\/span><\/p><p><span style=\"font-weight: 400\">Lembre-se, se voc&ecirc; quer aprender comandos avan&ccedil;ados, simplesmente consulte o manual que deve estar presente em todas as vers&otilde;es Unix.<\/span><\/p><pre class=\"wp-block-preformatted\"><span style=\"font-weight: 400\">man curl<\/span><\/pre><p><span style=\"font-weight: 400\">Espero que este tutorial seja um bom come&ccedil;o para voc&ecirc; usar o Curl. Como voc&ecirc; usa este comando? Conta pra gente nos coment&aacute;rios abaixo!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que &eacute; Comando Curl? &Eacute; um comando dispon&iacute;vel na maioria dos sistemas baseado em Unix. Ele &eacute; usado como abrevia&ccedil;&atilde;o para &ldquo;Client URL&rdquo;. Comandos Curl s&atilde;o destinados para funcionar como uma forma de verificar a conectividade da URL, al&eacute;m de ser uma &oacute;tima ferramenta de transfer&ecirc;ncia de dados. Vamos ver como voc&ecirc; poder&aacute; usar [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/comando-curl-linux\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":78,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"Comando curl \u00e9 inteligente e poderoso. Veja como voc\u00ea pode usar esse comando no seu sistema operacional e melhorar sua produtividade.","rank_math_focus_keyword":"comando curl","footnotes":""},"categories":[4915],"tags":[6387,6388,6389],"class_list":["post-15180","post","type-post","status-publish","format-standard","hentry","category-vps","tag-comando-curl","tag-comandos-curl","tag-o-que-e-comando-curl"],"hreflangs":[{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/comando-curl-linux","default":1},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/comando-curl-linux","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/15180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=15180"}],"version-history":[{"count":12,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/15180\/revisions"}],"predecessor-version":[{"id":38109,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/15180\/revisions\/38109"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=15180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=15180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=15180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}