「curlでリダイレクトの遷移を追う方法」の版間の差分
提供: Linux入門
(ページの作成:「'''curl''' とは、サーバからデータを転送するためのツールです。http サーバなどからデータ取得に利用されます。 '''読み方''' ;...」) |
|||
行9: | 行9: | ||
ウェブでは、リダイレクトと呼ばれる機能がよく使われます。 | ウェブでは、リダイレクトと呼ばれる機能がよく使われます。 | ||
あるURLにアクセスすると、違うURLに遷移させる、といったときに使われます。 | あるURLにアクセスすると、違うURLに遷移させる、といったときに使われます。 | ||
− | + | マルウェアなどのプログラムをダウンロードさせるために、多段階になったリダレイクトもあるでしょう。 | |
ここでは、リダイレクトの遷移を追いかける方法を紹介します。 | ここでは、リダイレクトの遷移を追いかける方法を紹介します。 |
2017年6月13日 (火) 22:13時点における最新版
curl とは、サーバからデータを転送するためのツールです。http サーバなどからデータ取得に利用されます。
読み方
- curl
- しーゆーあーるえる
概要
ウェブでは、リダイレクトと呼ばれる機能がよく使われます。 あるURLにアクセスすると、違うURLに遷移させる、といったときに使われます。 マルウェアなどのプログラムをダウンロードさせるために、多段階になったリダレイクトもあるでしょう。
ここでは、リダイレクトの遷移を追いかける方法を紹介します。
例えば、A にアクセスすると、最終的に C のページが表示されるときに、その過程では、以下のようなアクセスをブラウザなどのツールで行われてるとします。
- A にアクセスすると B へリダイレクト
- B にアクセスすると C へリダイレクト
- C のページがロードされる
このときに、どのようなページ遷移(URLの遷移)をするのか、といったことを調べたいときに、 curl コマンドと grep コマンドを組み合わせることで、遷移を調べることができます。
使い方
curl -I -L "任意のURL" | grep ^Location:
デフォルトでは、 curl はリダイレクトを追跡しません。 -L オプションを使うことで、 Location ヘッダを追跡してくれます。
実行例
これは、http://yahoo.jp にアクセスすると http://www.yahoo.co.jp にリダイレクトされ、 http://www.yahoo.co.jp/ から https://www.yahoo.co.jp:443/ にリダイレクトされるときの例です。
$ curl -s -I -L http://yahoo.jp/ | grep ^Location Location: http://www.yahoo.co.jp Location: https://www.yahoo.co.jp:443/
このように、途中でどこにリダイレクトされたのか、知ることができます。