我正在使用API,它需要这样的标题:
授权:ClientKey keyhere
授权:UserKey key2here
当我将这个参数添加到RestSharp的请求时,这样:
request.AddHeader("Authorization", "ClientKey 111111");
request.AddHeader("Authorization", "UserKey 222222");
我知道,只写了最后一个。 这是因为他们有相同的钥匙。 但我怎么能避免呢?
据我所知,这是服务器端的错误行为,但此代码已在其他平台的生产中使用。
更新
我找到了解决方案:
request.AddHeader("Authorization", "ClientKey 111111, UserKey 222222");
答案 0 :(得分:3)
请参阅HTTP RFC的14.8 Authorization部分:
希望通过服务器验证自身的用户代理 - 通常,但不一定,在收到401回复后 - 确实如此 通过包含一个Authorization request-header字段 请求。
另见RFC 2617的3.2.2 The Authorization Request Header部分:
客户端需要重试请求,并通过授权 标题行,根据上述框架定义, 利用如下。
两个引号都谈到 和 标题。根据RFC,可以可以多次设置Authentication
标头。但是服务器无法根据RFC选择包含凭据的 one 标头。
服务器仅使用一个(最后一个此类标头)正常工作。您的客户端已损坏。