wget non supporta https


9

Voglio scaricare https://example.comusando il wgetcomando, ma dice "protocollo non supportato / non riconosciuto". Ho provato a usare il --secure protocol=''ma che non funziona. Ho scaricato il file tar da GNU wget e ho provato a configurarlo ma non ci sono riuscito.

Ecco un esempio di ciò che vedo:

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

Ciao gente grazie per le risposte, la versione verificata della mia wget dice come sotto

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 <hniksic@arsdigita.com>.

e non ho idea se il mio wget è compilato da SSL e SSL è abilitato o meno. La prego di farmi sapere come compilare il wgetcomando. Ho provato a eseguire il configurefile e quindi ho digitato il makecomando, che mi dà il comando non trovato errore. Anche dopo aver eseguito il file di configurazione non mi dà alcun wgetfile creato in /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 versione che ho scaricato è wget-1.10.1.tar

versione del comando wget configurare il registro generato dal comando


Aggiorna la tua domanda per includere il commento esatto in esecuzione e l'errore esatto visualizzato.
steve,

1
Inoltre, quale sistema operativo e versione stai usando?
mjturner,

1. Cosa stai cercando di ottenere con wget, poiché wget richiede normalmente un URL contenente un file? 2. Il tuo wget è compilato con il supporto SSL? 3. È bash-2.05davvero la tua versione bash? Il mio è 4.3.33.
eyoung100,

1
È un sistema incorporato? Sembra che questo sia in realtà qualcosa come una busyboxversione di wget.
roaima,

1
@roaima Il messaggio che ricevo da Busybox è wget: not an http or ftp url: …Questo sembra non essere né GNU wget né Busybox. Ad ogni modo, ovviamente non supporta HTTPS e la soluzione è installare una versione diversa o uno strumento diverso che supporti HTTPS.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


8

Soluzione

Verifica che il tuo file wgetbinario sia compilato con il supporto SSL abilitato. La mia uscita quando provo il comando che hai dato:

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

$

Dato che l'URL completo non scarica la pagina predefinita index.htmlche contiene tag ecc. Tutta questa pagina mi dirà quando visualizzata tramite un browser è che il mio browser non è supportato, in altre parole: non supportiamo il recupero di pagine tramite 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

Per commento

Ecco come appare un output di versione, nel caso in cui non hai mai visto output basato su Gentoo (Avviso -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 <hniksic@xemacs.org>.
Please send bug reports and questions to <bug-wget@gnu.org>.

Nota che ssl non contiene un segno meno nella riga Versioni installate dall'output basato su Gentoo, il che significa che ho compilato il supporto SSL sulla mia casella Gentoo. Per andare oltre, ti preghiamo di aggiornare la tua domanda con la tua distribuzione.


wget -Vdovrebbe includere una riga che mostra il supporto https. Sulla mia Mint 17 l'installazione di default è restituita+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
steve

@steve Aggiungerò wget -V qualcosa Qualcosa mi dice che qui sta succedendo di più, dato che la sua versione bash è 2.05 ...
eyoung100,

2

Prova a rimuovere la "s" ... Voglio dire usa solo http.

Il più delle volte c'è un reindirizzamento da http a https attivo e wget sembra funzionare con esso.

Premi l'indirizzo nel tuo browser con un semplice http e se verrai reindirizzato a https probabilmente il tuo wget funzionerà.

Così.. wget http://example.com/file


2

Nel caso in cui altri si imbattano in questo errore dall'interno di vmWare ESXi o di un altro ambiente BusyBox, in realtà non stai utilizzando wget:

Uscita da wget -Vper me:

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

Quindi sei sfortunato. Trasferisci il file usando un metodo diverso come SCP dalla tua workstation.


https over wgetsupporta dopo ESXi 6.7 Update 2
Dario Zadro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.