curl では「リダイレクトが多すぎます」という応答が返されるが、ブラウザ (Chrome) では正常に動作するサイト

curl では「リダイレクトが多すぎます」という応答が返されるが、ブラウザ (Chrome) では正常に動作するサイト

ブラウザでは 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-existingcurl リクエストにパラメータとして追加すると、何らかの形で問題の解決に役立ちます。

curl -sLI -b non-existing https://the_site -o /dev/null -w "%{response_code} %{url_effective} \n"

関連情報