wget tidak mendukung https

9

Saya ingin mengunduh https://example.commenggunakan wgetperintah, tetapi tertulis "protokol tidak didukung / tidak dikenal". Saya mencoba menggunakan --secure protocol=''tetapi itu tidak berhasil. Saya mengunduh file tar dari GNU wget dan mencoba mengkonfigurasi itu tetapi saya gagal.

Ini adalah contoh dari apa yang saya lihat:

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

Hai teman-teman terima kasih atas jawabannya, versi wget saya yang terverifikasi mengatakan seperti di bawah ini

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

dan saya tidak tahu apakah wget saya dikompilasi oleh SSL dan SSL diaktifkan atau tidak. Bisakah Anda memberi tahu saya cara mengkompilasi wgetperintah. Saya mencoba menjalankan configurefile dan kemudian mengetik makeperintah, yang memberi saya perintah tidak ditemukan kesalahan. Bahkan setelah menjalankan file konfigurasi itu tidak memberi saya wgetfile apa pun yang dibuat di /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

versi yang saya unduh adalah wget-1.10.1.tar

versi perintah wget mengkonfigurasi perintah yang dihasilkan log

pengguna124096
sumber
Harap perbarui pertanyaan Anda untuk memasukkan komentar yang tepat sedang dijalankan dan kesalahan yang tepat sedang ditampilkan.
steve
1
Juga, sistem operasi dan versi apa yang Anda gunakan?
mjturner
1. Apa yang ingin Anda dapatkan dengan wget, karena biasanya wget memerlukan URL yang berisi file? 2. Apakah wget Anda dikompilasi dengan dukungan SSL? 3. Benarkah bash-2.05versi bash Anda? Milik saya adalah 4.3.33.
eyoung100
1
Apakah ini sistem yang disematkan? Rasanya seperti ini sebenarnya seperti busyboxversi wget.
roaima
1
@roaima Pesan yang saya dapat dari Busybox adalah wget: not an http or ftp url: …Ini sepertinya bukan GNU wget atau Busybox. Either way, itu jelas tidak mendukung HTTPS dan solusinya adalah menginstal versi berbeda atau alat berbeda yang mendukung HTTPS.
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:

8

Larutan

Verifikasi wgetbiner Anda dikompilasi dengan dukungan SSL diaktifkan. Output saya ketika saya mencoba perintah yang Anda berikan:

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

$

Karena tidak ada URL yang memenuhi syarat, unduhan halaman default index.htmlyang berisi tag, dll. Semua halaman ini akan memberi tahu saya ketika dilihat melalui browser adalah bahwa browser saya tidak didukung, dengan kata lain: Kami tidak mendukung pengambilan halaman melalui 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 Komentar

Seperti apa bentuk keluaran versi, jika Anda belum pernah melihat keluaran (Pemberitahuan -DHAVE_LIBSSL) berbasis Gentoo :

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

Perhatikan bahwa ssl tidak mengandung minus pada baris Versi yang Dipasang dari keluaran berbasis Gentoo, artinya saya telah mengumpulkan dukungan SSL pada kotak Gentoo saya. Untuk melangkah lebih jauh, tolong perbarui pertanyaan Anda dengan distribusi Anda.

eyoung100
sumber
wget -Vharus menyertakan garis yang menunjukkan dukungan https. Pada instalasi default Mint 17 saya adalah pengembalian+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
steve
@veve aku akan menambahkan wget -V Sesuatu yang memberitahuku ada lebih banyak hal yang terjadi di sini karena versi bash-nya 2.05 ...
eyoung100
2

Coba hapus "s" ... Maksud saya cukup gunakan http.

Sebagian besar kali ada pengalihan dari http ke https aktif dan tampaknya wget bekerja dengannya.

Tekan alamat di browser Anda dengan http biasa dan jika Anda diarahkan ke https, wget Anda mungkin akan berfungsi.

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

DimiDak
sumber
2

Jika ada orang lain yang menemukan kesalahan ini dari dalam vmWare ESXi atau lingkungan BusyBox lain, Anda sebenarnya tidak menggunakan wget:

Output dari wget -Vuntuk saya:

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

Jadi, Anda kurang beruntung. Transfer file menggunakan metode berbeda seperti SCP dari workstation Anda.

miken32
sumber
https lebih wgetmendukung setelah ESXi 6.7 Pembaruan 2
Dario Zadro