wgetコマンドでリクエストヘッダを指定する方法
目次
スポンサードリンク
wgetコマンドの基本構文
wgetコマンドはインターネットから、htmlファイルや画像などのコンテンツをダウンロードする際に使用するコマンドです。
基本構文は以下です。コマンドの後にオプション、ダウンロード対象のURLと続けます。
wget [オプション] [URL]
任意のリクエストヘッダを追加する方法
wget コマンドが対象のコンテンツにリクエストする際のリクエストヘッダは –debug オプションで確認することができます。 以下は試しに当ブログにアクセスしてみた結果です。 リクエストヘッダ、レスポンスヘッダ、コンテンツが詳細に表示されました。https://uchy.me/ にアクセスしたので、https://uchy.me/blog/ にリダイレクトされているのが分かりますね。
[root@hostname ~]# wget --debug https://uchy.me/
DEBUG output created by Wget 1.19.5 on linux-gnu.
Reading HSTS entries from /root/.wget-hsts
URI encoding = ‘UTF-8’
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2024-05-01 15:10:50-- https://uchy.me/
Certificates loaded: 354
Resolving uchy.me (uchy.me)... 49.212.235.185
Caching uchy.me => 49.212.235.185
Connecting to uchy.me (uchy.me)|49.212.235.185|:443... connected.
Created socket 3.
Releasing 0x000055beaed8f220 (new refcount 1).
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: uchy.me
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 302 Found
Server: nginx
Date: Wed, 01 May 2024 06:10:50 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 205
Connection: keep-alive
Location: https://uchy.me/blog/
---response end---
302 Found
Registered socket 3 for persistent reuse.
URI content encoding = ‘iso-8859-1’
Location: https://uchy.me/blog/ [following]
Skipping 205 bytes of body: [<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://uchy.me/blog/">here</a>.</p>
</body></html>
] done.
URI content encoding = None
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2024-05-01 15:10:50-- https://uchy.me/blog/
Reusing existing connection to uchy.me:443.
Reusing fd 3.
---request begin---
GET /blog/ HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: uchy.me
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 01 May 2024 06:10:50 GMT
Content-Type: text/html
Content-Length: 20519
Connection: keep-alive
Last-Modified: Tue, 30 Apr 2024 14:07:06 GMT
ETag: "5027-61750e28d5680"
Accept-Ranges: bytes
---response end---
200 OK
Length: 20519 (20K) [text/html]
Saving to: ‘index.html.1’
index.html.1 100%[==============================================>] 20.04K --.-KB/s in 0.008s
2024-05-01 15:10:50 (2.61 MB/s) - ‘index.html.1’ saved [20519/20519]
wgetコマンドが最初のリクエストでサーバーに送信しているリクエストヘッダは以下の部分です。
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: uchy.me
Connection: Keep-Alive
---request end---
ここに、任意のリクエストヘッダをカスタムで追加してみます。カスタムで追加するリクエストヘッダは、–headerで追加します。–header=’ヘッダー名: 値’ の形式で追加します。試しにUser-Agentヘッダでtestという値を追加してみます。
wget --debug --header='User-Agent: test ' https://uchy.me/
---request begin---
GET / HTTP/1.1
User-Agent: test
Accept: */*
Accept-Encoding: identity
Host: uchy.me
Connection: Keep-Alive
---request end---
User-Agentヘッダが追加されました。–header オプションを複数しているすることでリクエストヘッダを複数追加することもできます。
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)