wget
コマンドを使用してhttps://example.com
をダウンロードしたいのですが、「サポートされていない/認識されないプロトコル」と表示されています。 --secure protocol=''
を使用してみましたが、機能しません。 GNU wgetからtarファイルをダウンロードして構成しようとしましたが、失敗しました。
ここに私が見るものの例があります:
bash-2.05$ wget https://www.facebook.com/
https://www.facebook.com/: Unknown/unsupported protocol.
bash-2.05$
こんにちは人々は答えをありがとう、それが以下のように言う私のwgetのバージョンを確認しました
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]>.
私のwgetがSSLでコンパイルされていて、SSLが有効になっているかどうかはわかりません。 wget
コマンドのコンパイル方法を教えてください。 configure
ファイルを実行してからmake
コマンドを入力すると、コマンドが見つからないというエラーが発生しました。設定ファイルを実行した後でも、/usr/local/
で作成されたwget
ファイルは提供されません。
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
ダウンロードしたバージョンはwget-1.10.1.tar
です
wget
バイナリがSSLサポートを有効にしてコンパイルされていることを確認します。あなたが与えたコマンドを試したときの私の出力:
$ 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]
$
完全修飾URLが指定されていない場合、デフォルトのページをダウンロードしますindex.html
にはタグなどが含まれます。ブラウザを介して表示すると、このページはすべて、ブラウザがサポートされていないことを伝えます。つまり、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
Gentooベースの出力を見たことがない場合のバージョン出力は次のようになります(通知-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]>.
Gentooベースの出力のInstalled Versions行にsslのマイナスが含まれていないことに注意してください。つまり、GentooボックスでSSLサポートをコンパイルしました。さらに進めるために、ご使用のディストリビューションで質問を更新してください。
他の誰かがvmWare ESXiまたは別のBusyBox環境内からこのエラーに遭遇した場合、実際にはwget
を使用していません。
wget -V
からの出力:
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')
運が悪いのです。ワークステーションからSCPなどの別の方法を使用してファイルを転送します。
「s」を削除してみてください...つまり、httpを使用するだけです。
ほとんどの場合、httpからhttpsへのリダイレクトがアクティブであり、wgetはそれで動作するようです。
ブラウザのアドレスをプレーンhttpでヒットします。httpsにリダイレクトされた場合、wgetはおそらく機能します。
そう.. wget http://example.com/file