Se você perguntar a um grupo de usuários de Linux com o que eles baixam arquivos, alguns dirão wget
e outros dirão cURL
. Qual é a diferença e um é melhor que o outro?
Índice
Os investigadores governamentais começaram a ligar diferentes redes já na década de 1960, dando origem a redes interligadas . Mas o nascimento da Internet como a conhecemos ocorreu em 1º de janeiro de 1983, quando o protocolo TCP/IP foi implementado. Este era o elo que faltava. Permitiu que computadores e redes diferentes se comunicassem usando um padrão comum.
Em 1991, o CERN lançou seu software World Wide Web, que vinha usando internamente há alguns anos. O interesse nesta sobreposição visual para a internet foi imediato e generalizado. No final de 1994, havia 10 mil servidores web e 10 milhões de usuários .
Esses dois marcos – a internet e a web – representam faces muito diferentes da conectividade. Mas eles também compartilham muitas das mesmas funcionalidades.
Conectividade significa exatamente isso. Você está se conectando a algum dispositivo remoto, como um servidor. E você está se conectando a isso porque há algo que você precisa ou deseja. Mas como você recupera esse recurso hospedado remotamente para o seu computador local, a partir da linha de comando do Linux?
Em 1996, nasceram dois utilitários que permitem baixar recursos hospedados remotamente. Eles são wget
, que foi lançado em janeiro e cURL
que foi lançado em dezembro. Ambos operam na linha de comando do Linux. Ambos se conectam a servidores remotos e recuperam coisas para você.
Mas este não é apenas o caso habitual do Linux fornecer duas ou mais ferramentas para fazer o mesmo trabalho. Esses utilitários têm finalidades e especialidades diferentes. O problema é que eles são semelhantes o suficiente para causar confusão sobre qual usar e quando.
Considere dois cirurgiões. Você provavelmente não quer que um cirurgião oftalmologista realize sua cirurgia de ponte de safena, nem quer que o cirurgião cardíaco faça sua operação de catarata. Sim, ambos são profissionais médicos altamente qualificados, mas isso não significa que sejam substitutos um do outro.
O mesmo é verdade para wget
e cURL
.
O “w” no wget
comando é um indicador da finalidade pretendida. Seu objetivo principal é baixar páginas da web – ou até mesmo sites inteiros. Isso é
man
page descreve-o como um utilitário para baixar arquivos da Web usando os protocolos HTTP, HTTPS e FTP .
Por outro lado, cURL
funciona com 26 protocolos, incluindo SCP, SFTP e SMSB, bem como HTTPS. Isso é
man
página diz que é uma ferramenta para transferir dados de ou para um servidor. Não foi feito sob medida para funcionar com sites, especificamente. Destina-se a interagir com servidores remotos, usando qualquer um dos muitos protocolos de Internet que suporta.
Portanto, wget
é predominantemente centrado no site, embora cURL
seja algo que opera em um nível mais profundo, no nível simples da Internet.
wget
é capaz de recuperar páginas da web e navegar recursivamente em estruturas de diretórios inteiras em servidores da web para baixar sites inteiros. Também é capaz de ajustar os links nas páginas recuperadas para que apontem corretamente para as páginas da Web no seu computador local, e não para suas contrapartes no servidor da Web remoto.
cURL
permite interagir com o servidor remoto. Ele pode fazer upload de arquivos e também recuperá-los.
cURL
funciona com proxies SOCKS4 e SOCKS5 e HTTPS para o proxy. Suporta a descompactação automática de arquivos compactados nos formatos GZIP, BROTLI e ZSTD. cURL
também permite baixar várias transferências em paralelo.
A sobreposição entre eles é que wget
ambos cURL
permitem recuperar páginas da web e usar servidores FTP.
É apenas uma métrica aproximada, mas você pode avaliar os conjuntos relativos de recursos das duas ferramentas observando a duração de seus
man
Páginas. Em nossa máquina de teste, a página de manual wget
tem 1.433 linhas. O
man
página cURL
tem impressionantes 5.296 linhas.
Por wget
fazer parte do projeto GNU , você deverá encontrá-lo pré-instalado em todas as distribuições Linux. Usá-lo é simples, principalmente para seus usos mais comuns: baixar páginas da web ou arquivos.
Basta usar o wget
comando com a URL da página da web ou arquivo remoto.
wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
O arquivo é recuperado e salvo em seu computador com seu nome original.
Para salvar o arquivo com um novo nome, use a -O
opção (documento de saída).
wget -O word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
O arquivo recuperado é salvo com o nome escolhido.
Não use a -O
opção ao recuperar sites. Se você fizer isso, todos os arquivos recuperados serão anexados em um.
Para recuperar um site inteiro, use a -m
opção (espelho) e a URL da página inicial do site. Você também desejará usar --page-requisites
para garantir que todos os arquivos de suporte necessários para renderizar corretamente as páginas da Web também sejam baixados. A --convert-links
opção ajusta os links no arquivo recuperado para apontar para os destinos corretos em seu computador local, em vez de locais externos no site.
cURL
é um projeto independente de código aberto. Ele está pré-instalado no Manjaro 21 e Fedora 36, mas teve que ser instalado no Ubuntu 21.04.
Este é o comando para instalar cURL
no Ubuntu.
sudo apt instalar curl
Para baixar o mesmo arquivo que fizemos com wget
e salvá-lo com o mesmo nome, precisamos usar este comando. Observe que a -o
opção (saída) está em minúscula com cURL
.
curl -o word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
O arquivo é baixado para nós. Uma barra de progresso ASCII é exibida durante o download.
Para se conectar a um servidor FTP e baixar um arquivo, use a -u
opção (usuário) e forneça um par de nome de usuário e senha, como este:
curl -o test.png -u demo: senha ftp://test.rebex.net/pub/example/KeyGenerator.png
Isso baixa e renomeia um arquivo de um servidor FTP de teste.
É impossível responder “Qual devo usar” sem perguntar “O que você está tentando fazer?”
Depois de entender o que wget
e cURL
fazer, você perceberá que eles não estão competindo. Eles não atendem aos mesmos requisitos e não estão tentando fornecer a mesma funcionalidade.
Baixar páginas da web e sites é onde wget
reside a superioridade. Se é isso que você está fazendo, use wget
. Para qualquer outra coisa – fazer upload, por exemplo, ou usar qualquer um dos vários outros protocolos – use cURL
.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…