curlでリダイレクトの遷移を追う方法

提供: Linux入門
移動: 案内検索
スポンサーリンク

curl とは、サーバからデータを転送するためのツールです。http サーバなどからデータ取得に利用されます。

読み方

curl
しーゆーあーるえる

概要

ウェブでは、リダイレクトと呼ばれる機能がよく使われます。 あるURLにアクセスすると、違うURLに遷移させる、といったときに使われます。 マルウェアなどのプログラムをダウンロードさせるために、多段階になったリダレイクトもあるでしょう。

ここでは、リダイレクトの遷移を追いかける方法を紹介します。

例えば、A にアクセスすると、最終的に C のページが表示されるときに、その過程では、以下のようなアクセスをブラウザなどのツールで行われてるとします。

  1. A にアクセスすると B へリダイレクト
  2. B にアクセスすると C へリダイレクト
  3. 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/

このように、途中でどこにリダイレクトされたのか、知ることができます。

関連項目




スポンサーリンク