c# – 添加HttpClient头生成带有一些值的FormatException

这发生在针对Google Cloud Messaging的编码的上下文中,但在其他地方适用。

考虑以下:

var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");

var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");

这两个都生成一个FormatException:

System.FormatException : The format of value key=XXX’ is invalid.

解决方法是删除等号。

>挖入反射器显示有添加一个新的标题值时运行的验证和解析代码的大集团。为什么这一切都是必要的?应该不是这个客户端正在走我们的路?
>如何转义等号,以便添加此值成功?

不确定如果仍然相关,但我最近遇到了这个问题,并能够通过调用不同的方法来添加标题信息来解决它:

var http = new HttpClient();
http.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "key=XXX");
http://stackoverflow.com/questions/13198090/adding-httpclient-headers-generates-a-formatexception-with-some-values

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 添加HttpClient头生成带有一些值的FormatException