Мы используем C2DM и пишем серверное приложение на C #.
Мы получаем ключ авторизации с помощью POST, используя компонент WebRequest.Это работает, и мы возвращаем закодированный ключ авторизации.Проблема возникает, когда мы добавляем этот ключ в заголовок auth запроса, который будет отправлять сообщение.
WebRequest request = WebRequest.Create("url");
...
request.Headers.Add(HttpRequestHeader.Authorization, "GoogleLogin auth=" + AuthorizationKey);
Поскольку ключ имеет символ LF, мы получаем исключение ...
Unhandled Exception: System.ArgumentException: Specified value has invalid CRLF characters.
Parameter name: value
at System.Net.WebHeaderCollection.CheckBadChars(String name, Boolean isHeaderValue)
at System.Net.WebHeaderCollection.Add(String name, String value)
Казалось бы, CheckBadChars () отказывается от ключа авторизации, потому что думает, что в ключе есть CRLF, хотя на самом деле существует только LF.
У кого-нибудь есть идеи, как мы могли бы обойти эту проблему?