O wget não suporta https

9

Quero fazer o download https://example.comusando o wgetcomando, mas ele diz "protocolo não suportado / não reconhecido". Eu tentei usar o --secure protocol=''mas isso não funciona. Eu baixei o arquivo tar do GNU wget e tentei configurá-lo, mas falhei.

Aqui está um exemplo do que vejo:

bash-2.05$ wget https://www.facebook.com/
https://www.facebook.com/: Unknown/unsupported protocol.
bash-2.05$

Oi pessoal obrigado pelas respostas, a versão verificada do meu wget diz como abaixo

bash-2.05$ wget -V
GNU Wget 1.6

Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

Originally written by Hrvoje Niksic <[email protected]>.

e não tenho idéia se meu wget é compilado por SSL e o SSL está ativado ou não. Poderia me informar como compilar o wgetcomando. Eu tentei executar o configurearquivo e digitei o makecomando, que me dá o erro de erro não encontrado. Mesmo depois de executar o arquivo de configuração, ele não me fornece nenhum wgetarquivo criado no /usr/local/.

bash-2.05$ cd wget-1.10.1
bash-2.05$ ./configure --prefix=/usr/local --with-ssl
bash-2.05$ make
bash: make: command not found

a versão que baixei é wget-1.10.1.tar

versão do comando wget log gerado pelo comando configure

user124096
fonte
Atualize sua pergunta para incluir o comentário exato sendo executado e o erro exato sendo exibido.
Steve
1
Além disso, qual sistema operacional e versão você está usando?
Mjturner
1. O que você está tentando obter com o wget, já que o wget normalmente requer uma URL contendo um arquivo? 2. Seu wget é compilado com suporte a SSL? 3. É bash-2.05realmente a sua versão do bash? O meu é 4.3.33.
eyoung100
1
Este é um sistema embutido? Parece que isso é algo como uma busyboxversão do wget.
roaima
1
@roaima A mensagem que recebo do Busybox é: wget: not an http or ftp url: …Parece que não é o GNU wget nem o Busybox. De qualquer forma, obviamente ele não suporta HTTPS e a solução é instalar uma versão diferente ou uma ferramenta diferente que suporte HTTPS.
Gilles 'SO- stop be evil'

Respostas:

8

Solução

Verifique se o seu wgetbinário é compilado com o suporte SSL ativado. Minha saída quando tento o comando que você deu:

$ wget https://www.facebook.com
--2015-07-19 15:27:17--  https://www.facebook.com/
Resolving www.facebook.com (www.facebook.com)... 31.13.66.1, 2a03:2880:f013:1:face:b00c:0:1
Connecting to www.facebook.com (www.facebook.com)|31.13.66.1|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://www.facebook.com/unsupportedbrowser [following]
--2015-07-19 15:27:18--  https://www.facebook.com/unsupportedbrowser
Reusing existing connection to www.facebook.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                                                              [ <=>                                                                                                                                                                 ]  29.21K  --.-KB/s   in 0.04s  

2015-07-19 15:27:18 (775 KB/s) - ‘index.html’ saved [29916]

$

Dado que nenhum URL totalmente qualificado faz o download da página padrão index.htmlque contém tags, etc. Toda essa página me diz que, quando visualizada em um navegador, é que meu navegador não é suportado, ou seja, não suportamos a busca de páginas por wget.

$ eix wget

[I] net-misc/wget
     Available versions:  1.16 ~1.16.1 ~1.16.2 ~1.16.3 {debug gnutls idn ipv6 nls ntlm pcre +ssl static test uuid zlib}
     Installed versions:  1.16(11:25:57 AM 07/19/2015)(idn ipv6 nls pcre ssl zlib -debug -gnutls -ntlm -static -test -uuid)
     Homepage:            http://www.gnu.org/software/wget/
     Description:         Network utility to retrieve files from the WWW

Por Comentário

Aqui está a aparência de uma versão, caso você nunca tenha visto uma saída baseada no Gentoo (Aviso -DHAVE_LIBSSL):

$ wget -V
wget -V
GNU Wget 1.16 built on linux-gnu.

+digest +https +ipv6 +iri +large-file +nls -ntlm +opie -psl +ssl/openssl 

Wgetrc: 
    /etc/wgetrc (system)
Locale: 
    /usr/share/locale 
Compile: 
    x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H 
    -DSYSTEM_WGETRC="/etc/wgetrc" -DLOCALEDIR="/usr/share/locale" -I. 
    -I../lib -I../lib -DHAVE_LIBSSL -march=amdfam10 -O2 -pipe 
Link: 
    x86_64-pc-linux-gnu-gcc -DHAVE_LIBSSL -march=amdfam10 -O2 -pipe 
    -Wl,-O1 -Wl,--as-needed -lpcre -lssl -lcrypto -lz -lidn ftp-opie.o 
    openssl.o ../lib/libgnu.a 

Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Originally written by Hrvoje Niksic <[email protected]>.
Please send bug reports and questions to <[email protected]>.

Observe que o ssl não contém um sinal de menos na linha Versões Instaladas da saída baseada no Gentoo, o que significa que eu compilei o suporte SSL na minha caixa do Gentoo. Para ir além, atualize sua pergunta com sua distribuição.

eyoung100
fonte
wget -Vdeve incluir uma linha mostrando o suporte https. No meu Mint 17, a instalação padrão é retornada+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
steve
@ Steve eu vou adicionar um wget -V Algo me diz que há mais acontecendo aqui como sua versão do bash é 2.05 ...
eyoung100
2

Tente remover o "s" ... quero dizer, use apenas http.

Na maioria das vezes, há um redirecionamento de http para https ativo e o wget parece funcionar com ele.

Clique no endereço do seu navegador com http simples e, se você for redirecionado para https, seu wget provavelmente funcionará.

Assim.. wget http://example.com/file

DimiDak
fonte
2

Caso alguém encontre esse erro no vmWare ESXi ou em outro ambiente do BusyBox, você não está usando wget:

Saída wget -Vpara mim:

wget: invalid option -- 'V'
BusyBox v1.22.1 (2018-07-23 19:34:44 PDT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default .)
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')

Então você está sem sorte. Transfira o arquivo usando um método diferente, como o SCP, da sua estação de trabalho.

miken32
fonte
https over wgeté suportado após a atualização 2 do ESXi 6.7
Dario Zadro