ブラウザでは URL は問題なく開くものの、 では「リダイレクトが多すぎます」というエラーが発生する場合がありますcurl
。
以下の例は、bash スクリプトから取得した WSL2 インスタンスからの curl を使用したリクエストです。
curl -sSL https://www.bricomarche.net -o /dev/null -w "%{response_code} %{url_effective} \n"
curl: (47) Maximum (50) redirects followed
302 https://intermarche.queue-it.net/?c=intermarche&e=bricoprodkuserv2&ver=v3-java-3.5.1&cver=45&cid=fr-CA&l=BRICOMARCHE&t=https%3A%2F%2Fwww.bricomarche.com%2F
注意: 上記のコマンドでは、簡潔にするために Chrome ブラウザからコピーしたカスタム ユーザー エージェントを省略しました。結果は同じです。
しかし、上記の URL を Chrome ブラウザで開こうとすると、正常に動作します。
URL でも同じ状況が発生しましたhttps://shop.mercury.co.nz
。ブラウザでは問題なく開きますが、curl でリダイレクトが多すぎます。
$ curl -sSL https://shop.mercury.co.nz -o /dev/null -w "%{response_code} %{url_effective} \n"
curl: (47) Maximum (50) redirects followed
302 https://shop.mercury.co.nz/nz/join/prepare
カールを直す方法をご存知ですか?
答え1
どうやら、少なくともいくつかのケースでは、それは Cookie の問題のようです。
-b non-existing
curl リクエストにパラメータとして追加すると、何らかの形で問題の解決に役立ちます。
curl -sLI -b non-existing https://the_site -o /dev/null -w "%{response_code} %{url_effective} \n"