1. ホーム
  2. linux

[解決済み] curlがリダイレクトされた後の最終的なURLを取得する

2022-05-01 04:40:25

質問

私は、できればcurlまたはwgetでページリダイレクト後の最終的なURLを取得する必要があります。

例えば http://google.com にリダイレクトされる場合があります。 http://www.google.com .

コンテンツが取得しやすい(ex. curl --max-redirs 10 http://google.com -L ) が、私は最終的な url にしか興味がありません (前者の場合 http://www.google.com ).

Linuxのビルトインツールだけでできる方法はありますか?(コマンドラインのみ)

どのように解決するのですか?

curl 's -w オプション と、サブ変数 url_effective は、あなたが求めているものです。 を探します。

のようなものです。

curl -Ls -o /dev/null -w %{url_effective} http://google.com

詳細情報

-L リダイレクトを追跡する
-s サイレントモード。何も出力しない
-o FILE 標準出力ではなく、<ファイル> に出力を書き出す。
-w FORMAT 終了後に出力する内容

もっと見る

を追加するとよいでしょう。 -I (これは大文字の i をダウンロードしないようにしますが、HEADメソッドを使用することになります。時々、サーバーはGETにうまく応答しても、HEADにはうまく応答しません。