System.FormatException: The format of value 'xxx' is invalid.

momo314相同方式共享非商业用途署名转载

今天在调用 FCM 进行app消息推送时,发生一个问题:

System.FormatException: The format of value 'key=xxxxxx' is invalid.
  at System.Net.Http.Headers.HttpHeaderParser.ParseValue(String value, Object storeValue, Int32& index)
  at System.Net.Http.Headers.HttpHeaders.ParseAndAddValue(HeaderDescriptor descriptor, HeaderStoreItemInfo info, String value)
  at System.Net.Http.Headers.HttpHeaders.Add(String name, String value)

这是因为 FCM 的 api 需要添加 Authorization 的 Header,其格式为 key=xxxxxx

但 HttpClient 在添加 Header 的时候,会默认检查 Header 是否符合规范,很明显 key=xxxxxx 这种格式并不符合规范。但并不是每个服务提供者都会要求符合规范的 Header,这种情况怎么办呢?

// 添加 Header 并检查是否符合规范
_request.Headers.Add(key, value); 
// 不检查,直接添加 Header
_request.Headers.TryAddWithoutValidation(key, value);
✎﹏ 本文来自于 momo314和他们家的猫,文章原创,转载请注明作者并保留原文链接。