gpt4 book ai didi

objective-c - NSURLRequest 在重定向请求时丢失 HTTP header “Authorization”

转载 作者:太空狗 更新时间:2023-10-30 03:33:37 26 4
gpt4 key购买 nike

我们在后台模式下从服务器下载文件时遇到问题。将请求重定向到另一台服务器时,HTTP header “授权”字段丢失。

我们做了一些实验并注意到其他字段(即使相同但在“Authorization_”末尾带有下划线符号)在重定向中也能完美工作。看起来这个字段是根据一些安全原因被删除的,比如不同的服务器使用不同的身份验证数据。

可以在前台模式下使用

手动附加“授权”字段
URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:

方法。当我们尝试在后台模式下使用重定向请求时出现问题。因为根据文档“后台 session 中的任务会自动遵循重定向。”。

我在 RFC 2616 中找不到关于跳过此字段的任何信息,但假设可能有一些未记录的解决方案在后台模式下重定向期间保存“授权”字段。

假设我们的前端服务器可能会在重定向响应中提供一些特殊字段,表明重定向服务器是可信的,我们可以使用“授权”字段而无需任何修改。

这只是一个想法,可能我们必须以其他方式使用它。你能指导我们吗?

最佳答案

“授权” header 是建议不要修改的“特殊” header 之一。这是来自 Apple 的文档 ( LINK ):

The NSURLConnection class and NSURLSession classes are designed to handle various aspects >of the HTTP protocol for you. As a result, you should not modify the following headers:

  • Authorization
  • Connection
  • Host
  • WWW-Authenticate

关于objective-c - NSURLRequest 在重定向请求时丢失 HTTP header “Authorization”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23388103/

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