wgetコマンドでステータスコードが403エラー(forbidden)になる時の対策方法
目次
スポンサードリンク
wgetコマンドの基本構文
wgetコマンドはインターネットから、htmlファイルや画像などのコンテンツをダウンロードする際に使用するコマンドです。
基本構文は以下です。コマンドの後にオプション、ダウンロード対象のURLと続けます。
wget [オプション] [URL]
403エラーになる原因
403エラーとはWebサーバー側が何らかの理由でクライアントからのアクセスを拒否している時に発生するエラーです。
wgetコマンドによるアクセスが403エラーになる理由は以下が考えられます。
- wgetコマンドのUser-Agentを拒否している
- 古いTLS(SSL)プロトコルでの接続を拒否している
User-Agent指定による対策方法
wgetコマンドのUser-Agentはデフォルトでは「Wget/1.19.5 (linux-gnu)」のように、wgetコマンドからのアクセスだと分かるようになっています。wgetコマンドのバージョンや環境により細部は異なりますが通常のウェブブラウザとは異なるUser-Agentです。Webサーバー側では通常のウェブブラウザ以外からのアクセスを拒否している事があり、そのようなケースでは403エラーになることがあります。
wgetコマンドでは、–headerオプションでリクエストヘッダーを指定することができるので、以下のように実在するウェブブラウザのUser-Agentを指定する事で403エラーを回避できる事があります。
[root@hostname tmp]# wget --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" https://uchy.me/blog/
最新のTLSプロトコル指定による対策方法
Webサーバー側で古いTLS(SSL)プロトコルでの接続を拒否していることがあります。wgetコマンドでは、–secure-protocolオプションで接続時に使用するプロトコルの指定ができるので、最新のプロトコルを指定することでエラーが解消することがあります。以下のコマンドはTLSv1.2を指定しています。
[root@hostname tmp]# wget --secure-protocol=TLSv1_2 https://uchy.me/blog/
Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)