最佳答案
这发生在对 Google云消息传递进行编码的情况下,但适用于其他领域。
考虑以下几点:
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
还有
var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
它们都会生成一个 FormatException:
System.FormatException: 值 key = XXX’的格式无效。
解决方案是去掉等号。
深入研究反射器可以发现,在添加新的头部值时,会运行大量的验证和解析代码。为什么要这样?这个客户不应该给我们让路吗?
如何转义等号以使该值的加法成功?