一个网站在 curl 上收到“重定向次数过多”的响应,但在浏览器 (chrome) 上运行良好

一个网站在 curl 上收到“重定向次数过多”的响应,但在浏览器 (chrome) 上运行良好

我遇到过这样一种情况,一个 URL 在浏览器中打开正常,但在 中生成了“太多重定向” curl

下面的示例是从我的 WSL2 实例中使用 curl 发出的请求,该请求取自 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 

注意,为了简单起见,我在上面命令中省略了从 Chrome 浏览器复制的自定义用户代理。结果是相同的。

但是,如果我尝试在 Chrome 浏览器中打开上述 URL,它可以正常工作。

我在 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"

相关内容