Ich habe einen Fall, bei dem eine URL in einem Browser problemlos geöffnet wird, aber „zu viele Weiterleitungen“ generiert curl
.
Nachfolgend ein Beispiel einer Anfrage mit curl von meiner WSL2-Instanz, die aus einem Bash-Skript übernommen wurde:
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
Beachten Sie, dass ich im obigen Befehl den benutzerdefinierten Benutzeragenten weggelassen habe, der der Einfachheit halber aus meinem Chrome-Browser kopiert wurde. Das Ergebnis ist das gleiche.
Wenn ich jedoch versuche, die obige URL in meinem Chrome-Browser zu öffnen, funktioniert es einwandfrei.
Dieselbe Situation hatte ich mit der URL https://shop.mercury.co.nz
– sie wird im Browser problemlos geöffnet, aber in Curl gibt es zu viele Weiterleitungen:
$ 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
Irgendeine Idee, wie man die Locke repariert?
Antwort1
Offenbar handelt es sich zumindest in einigen Fällen um ein Cookie-Problem.
Das Hinzufügen -b non-existing
als Parameter zur Curl-Anfrage hilft irgendwie, das Problem zu beheben.
curl -sLI -b non-existing https://the_site -o /dev/null -w "%{response_code} %{url_effective} \n"