cURL vs. wget no Linux: Qual é a diferença?
Se você perguntar a um grupo de usuários do 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?
Começou com conectividade
Pesquisadores do governo estavam começando a conectar diferentes redes já na década de 1960, dando origem a entre-conectado webfunciona. Mas o nascimento da web como a conhecemos aconteceu em 1º de janeiro de 1983, quando o protocolo TCP/IP foi implementado. Este technology o elo perdido. Permitiu que computadores e redes díspares se comunicassem usando um padrão comum.
Em 1991, o CERN lançou seu instrument International Large Internet, que eles usavam internamente há alguns anos. O interesse por essa sobreposição visible para a web foi imediato e generalizado. No ultimate de 1994, havia 10.000 servidores internet e 10 milhões de usuários.
Esses dois marcos – a web e a internet – representam faces muito diferentes da conectividade. Mas eles compartilham muito da mesma funcionalidade também.
Conectividade significa exatamente isso. Você está se conectando a algum dispositivo remoto, como um servidor. E você está se conectando a ele porque há algo nele que você precisa ou deseja. Mas como você recupera esse recurso hospedado remotamente em seu computador native, a partir da linha de comando do Linux?
Em 1996, nasceram dois utilitários que permitem baixar recursos hospedados remotamente. Eles são wget
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 ambos recuperam coisas para você.
Mas este não é apenas o caso standard do Linux fornecer duas ou mais ferramentas para fazer o mesmo trabalho. Esses utilitários têm diferentes propósitos e diferentes especialidades. 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 um cirurgião oftalmologista realizando sua cirurgia de ponte de safena, nem deseja 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 imediatos um do outro.
O mesmo vale para wget
e cURL
.
Diferentes propósitos, diferentes recursos, algumas sobreposições
O “w” no wget
comando é um indicador de sua finalidade pretendida. Seu objetivo important é baixar páginas da internet ou até mesmo websites inteiros. Seu guy
página descreve-o como um utilitário para baixar arquivos da Internet usando os protocolos HTTP, HTTPS e FTP.
Por contraste, cURL
funciona com 26 protocolos, incluindo SCP, SFTP e SMSB, bem como HTTPS. Seu guy
página diz que é uma ferramenta para transferir dados para ou de um servidor. Ele não é adaptado para trabalhar com websites, especificamente. Destina-se a interagir com servidores remotos, usando qualquer um dos muitos protocolos de Web que ele suporta.
Então, wget
é predominantemente centrado em websites, enquanto cURL
é algo que opera em um nível mais profundo, no nível da web simples.
wget
é capaz de recuperar páginas da Internet e pode navegar recursivamente em estruturas de diretório inteiras em servidores da Internet para baixar websites inteiros. Também é capaz de ajustar os hyperlinks nas páginas recuperadas para que apontem corretamente para as páginas da Internet em seu computador native e não para suas contrapartes no servidor da Internet remoto.
cURL
permite interagir com o servidor remoto. Ele pode fazer add de arquivos, bem como recuperá-los. cURL
funciona com proxies SOCKS4 e SOCKS5 e HTTPS para o proxy. Ele 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
e cURL
ambos permitem que você recupere páginas da Internet e use servidores FTP.
É apenas uma métrica aproximada, mas você pode obter alguma apreciação dos conjuntos de recursos relativos das duas ferramentas observando o comprimento de suas guy
Páginas. Em nossa máquina de teste, a página guy para wget
tem 1433 linhas. o guy
página para cURL
é um colossal 5296 linhas.
Uma espiada rápida no wget
Porque wget
faz parte do projeto GNU, você deve encontrá-lo pré-instalado em todas as distribuições Linux. Usá-lo é simples, especialmente para seus usos mais comuns: obtain de páginas da internet ou arquivos.
Basta usar o wget
comando com o URL para a página da Internet ou arquivo remoto.
wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.document
O arquivo é recuperado e salvo em seu computador com seu nome unique.
Para salvar o arquivo com um novo nome, use o -O
(documento de saída).
wget -O word-file-test.document https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.document
O arquivo recuperado é salvo com o nome escolhido.
Não use o -O
opção quando você está recuperando websites. Se você fizer isso, todos os arquivos recuperados serão anexados em um.
Para recuperar um web page inteiro, use o -m
(espelho) e o URL da página inicial do web page. Você também vai querer usar --page-requisites
para garantir que todos os arquivos de suporte necessários para renderizar corretamente as páginas da Internet também sejam baixados. o --convert-links
A opção ajusta os hyperlinks no arquivo recuperado para apontar para os destinos corretos em seu computador native em vez de locais externos no web page.
RELACIONADO: Como usar wget, a ferramenta de obtain de linha de comando ultimate
Uma espiada rápida no cURL
cURL
é um projeto independente de código aberto. Ele está pré-instalado no Manjaro 21 e no Fedora 36, mas teve que ser instalado no Ubuntu 21.04.
Este é o comando para instalar o cURL no Ubuntu.
sudo apt set up curl
Para baixar o mesmo arquivo que fizemos com wget
, e para salvá-lo com o mesmo nome, precisamos usar este comando. Practice que o -o
(saída) opção é minúscula com cURL
.
curl -o word-file-test.document https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.document
O arquivo é baixado para nós. Uma barra de progresso ASCII é exibida durante o obtain.
Para se conectar a um servidor FTP e fazer obtain de um arquivo, use o -u
(usuário) e forneça um par de nome de usuário e senha, assim:
curl -o verify.png -u demo:password ftp://verify.rebex.internet/pub/instance/KeyGenerator.png
Isso baixa e renomeia um arquivo de um servidor FTP de teste.
RELACIONADO: Como usar curl para baixar arquivos da linha de comando do Linux
Não Há Melhor
É 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 ao mesmo requisito e não estão tentando fornecer a mesma funcionalidade.
O obtain de páginas da Internet e websites é onde wget
a superioridade de está. Se é isso que você está fazendo, use wget
. Para qualquer outra coisa — fazer add, por exemplo, ou usar qualquer um dos inúmeros outros protocolos — use cURL
.
Fonte da Notícia: www.howtogeek.com