我遇到过这样一种情况,一个 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"