web-dev-qa-db-ja.com

リダイレクトチェーン内のすべてのURLを表示するにはどうすればよいですか?

リダイレクトチェーン内のすべてのURLを、できればシェルから表示する方法を探しています。 curlでそれをほぼ行う方法を見つけましたが、最初と最後のURLしか表示されません。全部見たいです。

これを簡単に行う方法があるに違いありませんが、私はそれが何であるかを私の人生で見つけることができません。

編集:これを送信して以来、Chrome(CTRL + SHIFT + I-> Network tab)を使用してそれを行う方法を見つけました。しかし、それがどのようにできるかを知りたいのですがLinuxコマンドラインから実行されます。

32
felwithe

単にwgetを使用するのはどうですか?

$ wget http://picasaweb.google.com 2>&1 | grep Location:
Location: /home [following]
Location: https://www.google.com/accounts/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true [following]
Location: https://accounts.google.com/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fpicasaweb.google.com%2Fhome&service=lh2&ltmpl=gp&passive=true [following]

curl -vもいくつかの情報を表示しますが、wgetほど便利ではありません。

$ curl -v -L http://picasaweb.google.com 2>&1 | egrep "^> (Host:|GET)"
> GET / HTTP/1.1
> Host: picasaweb.google.com
> GET /home HTTP/1.1
> Host: picasaweb.google.com
> GET /accounts/ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true HTTP/1.1
> Host: www.google.com
> GET /ServiceLogin?hl=en_US&continue=https%3A%2F%2Fpicasaweb.google.com%2Flh%2Flogin%3Fcontinue%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fhome&service=lh2&ltmpl=gp&passive=true HTTP/1.1
> Host: accounts.google.com
47
yaegashi