我正在使用 API,它需要这样的标头:
授权:ClientKey 密钥在此
授权:UserKey key2here
当我将此参数添加到 RestSharp 的请求时,如下所示:
request.AddHeader("Authorization", "ClientKey 111111");
request.AddHeader("Authorization", "UserKey 222222");
我明白了,只写了最后一篇。 因为他们有相同的密钥,但我该如何避免呢?
我知道,这是服务器端的错误行为,但此代码已在其他平台的生产中使用。
已更新
我找到了解决方案:
request.AddHeader("Authorization", "ClientKey 111111, UserKey 222222");
请参阅 HTTP RFC 的第 14.8 授权:
希望通过服务器验证自身身份的用户代理—— 通常,但不一定,在收到 401 响应后——确实 因此,通过包含一个授权请求标头字段 要求。
另请参阅 RFC 2617 的第 3.2.2 授权请求标头部分:
客户端应重试请求,传递授权 标题行,根据上面的框架定义, 使用如下。
两个引文都谈到了 an 和 the 标题。根据 RFC,“可能”可以多次设置 Authentication
标头。但服务器将无法根据 RFC 选择包含凭据的
one标头。 仅使用一个(最后一个此类标头),服务器
即可正常工作。您的客户端已损坏。