【问题标题】:URL request: How to set reserved headers?URL 请求:如何设置保留的标头?
【发布时间】:2019-11-14 09:30:09
【问题描述】:

我正在创建带有“Authorization”标头的 URLRequest,它适用于大多数应用程序用户,但最近我遇到了一些用户无法提出请求。

apple 说“某些标头字段是保留的(请参阅保留的 HTTP 标头)。不要使用此属性来设置此类标头。”我发现我使用了其中一些标题

我的问题是如何设置这样的标题?

【问题讨论】:

    标签: swift nsurlrequest urlrequest


    【解决方案1】:

    阅读文档

    保留的 HTTP 标头 URL 加载系统处理各个方面 为您提供的 HTTP 协议(​​HTTP 1.1 持久连接, 代理、身份验证等)。作为此支持的一部分,URL 加载系统负责某些 HTTP 标头:

    内容长度

    授权

    连接

    主机

    代理验证

    代理授权

    WWW-认证

    如果您为这些保留标头之一设置值,系统可能会 忽略你设置的值,或者用它自己的值覆盖它,或者 根本不发送。此外,确切的行为可能会随着时间而改变。 为避免此类混淆问题,请勿设置这些标头 直接。

    这意味着您不应手动设置这些标头。如果你真的必须这样做,那就意味着你的 API 有问题。

    https://developer.apple.com/documentation/foundation/nsurlrequest#1776617

    【讨论】:

    • 我已经读过了我的问题是如何设置它。有办法设置吗?
    • 如果您正在编写好的代码,则不必这样做。苹果为你处理它
    • @Zun 你没有回答这个问题。 OP 是否应该做他们想做的事情是 cmets 的 tpoic。你无法判断情况,你甚至不知道应用程序做了什么。
    • @JulianF.Weinert 我不在乎应用程序的功能。这些不是您应该自己设定的值。请不要在这里发表意见,让我们保持事实!
    • 这就是我的建议,不要发表您的意见。想象一下。用于测试服务器安装的应用程序。您可能希望通过内部 IP 进行通信,但需要设置主机标头才能访问正确的网站并正确测试。
    猜你喜欢
    • 2023-04-03
    • 2018-03-30
    • 2020-10-09
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多