web-dev-qa-db-ja.com

wgetを使用してHTTPSファイルをダウンロード中にエラーが発生しました

いくつかのhttpファイルをダウンロードしようとすると、wgetは正常に機能します(例:wget download_link)。しかし、wgetを使用してhttpsファイルをダウンロードしようとすると、次のエラーが表示されます。

http request sent 
403 forbidden

私の問題は、大学の無線LANでhttpファイルをダウンロードできないことです。そのため、ファイルをダウンロードしようとすると、wgetはhttp要求をサーバーに送信します。最終的に、ダウンロードはブロックされます。

Httpsファイルをダウンロードするには、次のコマンドを使用してみました

wget https://download_link

Httpsファイルをダウンロードする方法(ユーザー名とパスワードはダウンロードリンクにもあります)?

wgetには追加のオプションが必要ですか?

6
Enthusiast

最初はwgetは一部のディストリビューションでhttpsダウンロードをサポートしていません。 opensslを使用してソースコードを手動でコンパイルする必要があります。その後、httpsダウンロードを行うことができます

Opensslを使用してwgetをコンパイルするためのリンク:

wgetソースコードのコンパイル方法

4
Enthusiast

httpsプロトコルを使用するには、--secure-protocol=protocolオプションを追加する必要があります。プロトコル引数は次のいずれかです。

  • オート
  • SSLv2
  • SSLv3
  • TLSv1

--no-check-certificatewgetにサーバーの証明書などをチェックしないように指示するなど、さらに関連するオプションもあります。

これはパスワードを要求します

wget --user=username --ask-password --no-check-certificate https://foo.bar.com

これでは、パスワードを提供する必要があります

wget --user=username --password --no-check-certificate https://foo.bar.com

ソース:GNU Wgetマニュアル

7
Stef K

例えば。 wget --user=user --password=password --no-check-certificate https://Host.domain.tld/directory/file.ext

証明書チェックが機能する場合は、同様に

wget https://user:[email protected]/directory/file.ext
2
Feczo