c# – System.Net.Http.HttpClient实例在设置逗号时抛出异常.为
鉴于以下System.Net.Http.HttpClient可移植类库引发异常:
var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Add("Authorization","aaaa,bbbb"); 例外情况是:格式无效
现在这只发生在以下情况 标题键=授权.如果你把它改成其他任何东西,那没关系. 现在,这个先前的SO问题表明逗号是在标题中粘贴多个值的正确方法. 谁能解释一下发生了什么? 注意:这是在Xamarin上,所以我猜它是单声道的.不确定这是否重要. 更新: 这是一张照片. 解决方法
根据
this links spec rfc2617用逗号分隔似乎确实有效.
“它使用可扩展,不区分大小写的令牌来识别身份验证方案, 但其中暗示你很可能错误地设置它们,它们必须是“属性 – 值对”的形式: auth-param = token "=" ( token | quoted-string ) 你究竟是如何设置它们的? httpClient.DefaultRequestHeaders.Add("Authorization",bbbb"); 以上看似无效,它们不是属性对“aaaa,bbbb”.您尝试设置的任一属性都没有=符号. 尝试以下测试: httpClient.DefaultRequestHeaders.Add("Authorization","aaaa=1234,bbbb=45678"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |