停止curl在302重定向上发送授权标头
发布时间:2020-12-14 01:53:42 所属栏目:Linux 来源:网络整理
导读:我使用curl连接到REST API. REST API在Authorization标头中使用Bearer令牌.所以我的curl调用看起来像这样: curl -H "Authorization: Bearer token" https://www.example.com/api 此API已开始返回302重定向以响应我的API调用. 我添加了-L选项以指示curl遵循
我使用curl连接到REST API. REST API在Authorization标头中使用Bearer令牌.所以我的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标头以及重定向.我已使用-v选项验证了这一点,因此它向我显示了它正在发送的标头. 新服务器(我认为是Windows Azure)实际上使用400状态代码失败,因为它不喜欢Authorization标头.重定向的URL根本不需要授权标头. 那么,如何让curl不在重定向上发送我的自定义Authorization标头?或者是否有另一种方法来指定将避免该问题的Authorization标头. 解决方法
这已在
curl 7.58.0中修复.具体是为了避免将凭据泄露到重定向位置.
使用curl 7.58.0它应该可以工作而不做任何更改.如果您仍想要传递凭据,则必须使用–location-trusted选项. 除了不使用-L选项,自己解析“位置”字段并对新位置执行单独请求之外,早期版本没有可用的解决方法. (如Matt Houser所述) 您可以在here中找到有关此更改的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |