【发布时间】:2014-06-16 18:35:33
【问题描述】:
我们在后台模式下从服务器下载文件时遇到问题。在将请求重定向到另一台服务器时,HTTP 标头“授权”字段会丢失。
我们进行了一些实验,发现其他字段(即使相同,但末尾带有下划线符号“Authorization_”)在重定向中也能正常工作。看起来这个字段是根据一些安全原因被删除的,比如不同的服务器使用不同的身份验证数据。
可以在前台模式下手动添加“授权”字段
URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:
方法。当我们尝试在后台模式下使用重定向请求时出现问题。因为根据文档“后台会话中的任务自动遵循重定向”。
我在RFC 2616 中找不到任何关于跳过此字段的信息,但假设可能有一些未记录的解决方案可以在后台模式下重定向期间保存“授权”字段。
假设我们的前端服务器可能会在重定向响应中提供一些特殊字段,表明重定向的服务器是受信任的,我们可以使用“授权”字段而无需任何修改。
这只是一个想法,可能我们必须以其他方式使用它。请指导我们好吗?
【问题讨论】:
标签: objective-c redirect http-headers nsurlrequest nsurlsession