HttpRequestHeaders.Add разбивает заголовок на пробел - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь добавить новый заголовок в запрос, который у меня уже был (который работал раньше), в который я хочу поместить какую-то строку User-Agent, отформатированную так:

AppName / AppVersion ( DeviceOS DeviceOSVersion )

Код для него написан так (запросis HttpRequestMessage):

request.Headers.Add(UserAgentKey, $"{AppName}/{DependencyService.Get<IVersionProperties>().GetAppVersion()} ({Device.RuntimePlatform} {DependencyService.Get<IVersionProperties>().GetOSVersion()})");

Но, как ни странно, он разбивает строку на две части в пробелах (между appverion и открывающей скобкой), что приводит к 2 значениям для заголовка User-Agent вместо1 единое целое.

Так что мне любопытно, что я здесь делаю неправильно, я думаю, что это как-то связано с пробелами, и мне, возможно, нужно как-то избежать этого, но я не уверен, как.Я надеюсь, что кто-то может помочь мне с этим вопросом.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Очевидно, это было связано с заголовком, который я использовал.

Я использовал заголовок "Пользователь-Агент", который ожидает определенный формат и к нему прикреплены другие забавные вещи, когда я изменил его на«User-Agentt», например, работал просто отлично, и, поскольку мне не нужна простота, нужно вызывать заголовок, я просто изменю имя заголовка.

0 голосов
/ 20 февраля 2019

Возможно, не полное решение, но, по крайней мере, обходной путь, почему бы сначала не составить строку: var userAgent = $"{AppName}/{DependencyService.Get<IVersionProperties>().GetAppVersion()} ({Device.RuntimePlatform} {DependencyService.Get<IVersionProperties>().GetOSVersion()});"

А затем убрать символы новой строки: userAgent = userAgent.Replace(Environment.NewLine, " ");

Какпо этой причине я бы сказал, что в одном из этих значений есть новая строка.Хотя я действительно не понимаю, почему или что.Вы проверяли каждое из значений в отдельности?

...