У меня был случай, когда URL-адрес нормально открывался в браузере, но генерировал «слишком много перенаправлений» в curl
.
В качестве примера ниже приведен запрос с использованием curl из моего экземпляра WSL2, взятый из скрипта bash:
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
Обратите внимание, я опустил в команде выше пользовательский user-agent, который был скопирован из моего браузера 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"