wget no es compatible con https

9

Quiero descargar https://example.comusando el wgetcomando, pero dice "protocolo no admitido / no reconocido". Intenté usar el --secure protocol=''pero eso no funciona. Descargué el archivo tar de GNU wget e intenté configurarlo, pero fallé.

Aquí hay un ejemplo de lo que veo:

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

Hola amigos, gracias por las respuestas, la versión verificada de mi wget dice lo siguiente

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]>.

y no tengo idea si mi wget está compilado por SSL y si SSL está habilitado o no. ¿Me podría decir cómo compilar el wgetcomando? Intenté ejecutar el configurearchivo y luego escribí el makecomando, eso me da un error de comando no encontrado. Incluso después de ejecutar el archivo de configuración, no me da ningún wgetarchivo creado en /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

la versión que descargué es wget-1.10.1.tar

versión del comando wget configurar el registro generado por comando

usuario124096
fuente
Actualice su pregunta para incluir el comentario exacto que se está ejecutando y el error exacto que se muestra.
steve
1
Además, ¿qué sistema operativo y versión está utilizando?
mjturner
1. ¿Qué intenta obtener con wget, ya que wget normalmente requiere una URL que contenga un archivo? 2. ¿Se compila su wget con soporte SSL? 3. ¿Es bash-2.05realmente tu versión bash? La mía es 4.3.33.
eyoung100
1
¿Es este un sistema integrado? Parece que esto es realmente algo así como una busyboxversión de wget.
roaima 19/07/2015
1
@roaima El mensaje que recibo de Busybox es: wget: not an http or ftp url: …Esto parece no ser ni GNU wget ni Busybox. De cualquier manera, obviamente no es compatible con HTTPS y la solución es instalar una versión diferente o una herramienta diferente que sea compatible con HTTPS.
Gilles 'SO- deja de ser malvado'

Respuestas:

8

Solución

Verifique que su wgetbinario esté compilado con el soporte SSL habilitado. Mi salida cuando intento el comando que me diste:

$ 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 no hay descargas de URL totalmente calificadas, la página predeterminada index.htmlque contiene etiquetas, etc. Toda esta página me dirá cuando se vea a través de un navegador es que mi navegador no es compatible, en otras palabras: no admitimos la búsqueda de páginas a través de 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 comentario

Así es como se ve una salida de versión, en caso de que nunca haya visto una salida basada en 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]>.

Tenga en cuenta que ssl no contiene un signo menos en la línea de Versiones instaladas de la salida basada en Gentoo, lo que significa que he compilado el soporte SSL en mi caja Gentoo. Para ir más lejos, ¿podría actualizar su pregunta con su distribución?

eyoung100
fuente
wget -Vdebe incluir una línea que muestre compatibilidad con https. En mi Mint 17, la instalación predeterminada es devoluciones+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
steve
@steve Voy a añadir una wget -V Algo me dice que no está más en todo esto como su versión de bash es 2.05 ...
eyoung100
2

Intenta eliminar la "s" ... quiero decir, solo usa http.

La mayoría de las veces hay una redirección de http a https activa y wget parece funcionar con ella.

Presione la dirección en su navegador con http simple y si es redirigido a https, su wget probablemente funcionará.

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

DimiDak
fuente
2

En caso de que alguien más se encuentre con este error desde vmWare ESXi u otro entorno de BusyBox, en realidad no está utilizando wget:

Salida de wget -Vpara mí:

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')

Entonces no tienes suerte. Transfiera el archivo utilizando un método diferente, como SCP, desde su estación de trabajo.

miken32
fuente
https over wgetes compatible después de ESXi 6.7 Update 2
Dario Zadro