gpt4 book ai didi

redirect - 阻止curl在302重定向上发送授权 header

转载 作者:行者123 更新时间:2023-12-03 06:23:02 25 4
gpt4 key购买 nike

我正在使用 curl 连接到 REST API。 REST API 在 Authorization header 中使用 Bearer token 。所以我的 curl 调用如下所示:

curl -H "Authorization: Bearer <token>" https://www.example.com/api

此 API 已开始返回 302 重定向以响应我的 API 调用。

我添加了 -L 选项来指示 curl 遵循重定向:

curl -L -H "Authorization: Bearer <token>" https://www.example.com/api

现在 curl 确实执行了重定向。

问题在于:curl 正在发送自定义 Authorization header 以及重定向。我已经使用 -v 选项验证了这一点,因此它向我显示了它发送的 header 。

新服务器(我相信是 Windows Azure)实际上使调用失败并显示 400 状态代码,因为它不喜欢 Authorization header 。重定向的 URL 根本不需要授权 header 。

那么,如何让 curl 在重定向时不发送我的自定义 Authorization header ?或者是否有另一种方法来指定 Authorization header 来避免该问题。

最佳答案

此问题已在 curl 7.58.0 中修复。特别是为了避免将凭据泄露到重定向位置。

对于curl 7.58.0,它应该可以在不进行任何更改的情况下工作。如果您仍想传递凭据,则必须使用 --location-trusted 选项。

除了使用-L选项、自己解析Location字段并执行单独的请求之外,早期版本没有任何解决方法到新地点。 (正如马特·豪瑟提到的)

您可以找到有关此更改的更多信息 here .

关于redirect - 阻止curl在302重定向上发送授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com