curlでリダイレクトの遷移を追う方法
提供: Linux入門
2017年6月13日 (火) 21:52時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「'''curl''' とは、サーバからデータを転送するためのツールです。http サーバなどからデータ取得に利用されます。 '''読み方''' ;...」)
スポンサーリンク
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/
このように、途中でどこにリダイレクトされたのか、知ることができます。
関連項目
ツイート
スポンサーリンク