この記事をシェアする

Windows PowerShellで、Webサイトのリダイレクトが301になっているか302になっているか確認したい時、Invoke-WebRequestのMaximumRedirectionを0にすれば良いらしい

コマンド

Invoke-WebRequest [URL] -MaximumRedirection 0
実行例。StatusCodeが301になっていることがわかる
オプション指定しないとこうなる

余談

Apacheの設定を変更し302リダイレクトを301リダイレクトに変更するお仕事があった。
適用後の動作確認にPowerShellのInvoke-WebRequestが使えるんじゃねえか? と思ってやってみたところ、何度やっても表示されるStatusCodeは200。なるほど。リダイレクトが設定されているURLに対してInvoke-WebRequestすると、最終的に到達するURLのレスポンスのみ表示されるようだ。

で、ここで使えるのがリダイレクト回数の最大値を指定するオプションであるMaximumRedirectionってわけ。これを0にすればリダイレクトを無効化できる→最初にアクセスしたURLのレスポンスが表示されるって寸法。

この記事をシェアする