C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – System.Net.Http.HttpClient实例在设置逗号时抛出异常.为什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于以下System.Net.http.httpClient可移植类库引发异常:

var httpClient = new httpClient();
httpClient.DefaultrequestHeaders.Add("Authorization","aaaa,bbbb");

例外情况是:格式无效

在这只发生在以下情况

标题键=授权.如果你把它改成其他任何东西,那没关系.
值=必须有逗号.

现在,这个先前的SO问题表明逗号是在标题中粘贴多个值的正确方法.

谁能解释一下发生了什么?

注意:这是在Xamarin上,所以我猜它是单声道的.不确定这是否重要.

更新:

这是一张照片.

@H_673_28@解决方法
根据 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");

大佬总结

以上是大佬教程为你收集整理的c# – System.Net.Http.HttpClient实例在设置逗号时抛出异常.为什么?全部内容,希望文章能够帮你解决c# – System.Net.Http.HttpClient实例在设置逗号时抛出异常.为什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。