wget ne prend pas en charge https

9

Je souhaite télécharger https://example.comà l'aide de la wgetcommande, mais elle indique «protocole non pris en charge / non reconnu». J'ai essayé d'utiliser le --secure protocol=''mais cela ne fonctionne pas. J'ai téléchargé le fichier tar depuis GNU wget et j'ai essayé de le configurer mais j'ai échoué.

Voici un exemple de ce que je vois:

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

Salut les gens merci pour les réponses, la version vérifiée de mon wget indique comme ci-dessous

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

et je n'ai aucune idée si mon wget est compilé par SSL et si le SSL est activé ou non. Pourriez-vous s'il vous plaît laissez-moi savoir comment compiler la wgetcommande. J'ai essayé d'exécuter le configurefichier, puis j'ai tapé la makecommande, cela me donne une erreur de commande introuvable. Même après avoir exécuté le fichier de configuration, il ne me donne aucun wgetfichier créé dans /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 version que j'ai téléchargée est wget-1.10.1.tar

version de la commande wget configurer le journal généré par la commande

user124096
la source
Veuillez mettre à jour votre question pour inclure le commentaire exact en cours d'exécution et l'erreur exacte affichée.
steve
1
De plus, quel système d'exploitation et quelle version utilisez-vous?
mjturner
1. Qu'est-ce que vous essayez d'obtenir avec wget, car wget nécessite normalement une URL contenant un fichier? 2. Votre wget est-il compilé avec le support SSL? 3. Est-ce bash-2.05vraiment votre version bash? Le mien est 4.3.33.
eyoung100
1
S'agit-il d'un système embarqué? On dirait que c'est en fait quelque chose comme une busyboxversion de wget.
roaima
1
@roaima Le message que je reçois de Busybox est wget: not an http or ftp url: …Cela ne semble être ni GNU wget ni Busybox. Quoi qu'il en soit, il ne prend évidemment pas en charge HTTPS et la solution consiste à installer une version différente ou un outil différent qui prend en charge HTTPS.
Gilles 'SO- arrête d'être méchant'

Réponses:

8

Solution

Vérifiez que votre wgetbinaire est compilé avec le support SSL activé. Ma sortie lorsque j'essaie la commande que vous avez donnée:

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

$

Étant donné qu'aucune URL pleinement qualifiée ne télécharge la page par défaut index.htmlqui contient des balises, etc. Toute cette page me dira lorsqu'elle est affichée via un navigateur que mon navigateur n'est pas pris en charge, en d'autres termes: nous ne prenons pas en charge la récupération de pages via 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

Par commentaire

Voici à quoi ressemble une sortie de version, au cas où vous n'auriez jamais vu de sortie basée sur Gentoo (Remarque -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]>.

Notez que ssl ne contient pas de moins dans la ligne Versions installées de la sortie basée sur Gentoo, ce qui signifie que j'ai compilé la prise en charge SSL sur ma boîte Gentoo. Pour aller plus loin, veuillez mettre à jour votre question avec votre distribution.

eyoung100
la source
wget -Vdevrait inclure une ligne indiquant la prise en charge de https. Sur mon installation par défaut de Mint 17, il y a des retours+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
Steve
@steve je vais ajouter quelque wget -V chose me dit qu'il y a plus de choses ici car sa version bash est 2.05 ...
eyoung100
2

Essayez de supprimer le "s" ... Je veux dire, utilisez simplement http.

La plupart du temps, il y a une redirection de http vers https active et wget semble fonctionner avec.

Frappez l'adresse dans votre navigateur avec http simple et si vous êtes redirigé vers https, votre wget fonctionnera probablement.

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

DimiDak
la source
2

Si quelqu'un d'autre rencontre cette erreur depuis vmWare ESXi ou un autre environnement BusyBox, vous n'utilisez pas réellement wget :

Sortie de wget -Vpour moi:

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

Vous n'avez donc pas de chance. Transférez le fichier à l'aide d'une méthode différente telle que SCP depuis votre poste de travail.

miken32
la source
https over wgetprend en charge après ESXi 6.7 Update 2
Dario Zadro