2016-10-20 3 views
3

Я использую HTTPClient в .netcore, но перед тем, как добавить пользовательский заголовок, я столкнулся с проблемой.HttpClient в .netcore автоматически добавляет пробел в заголовке

var client = new HttpClient { Timeout = new TimeSpan(0, 5, 0)}; 
client.DefaultRequestHeaders.Clear(); 
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1"); 

Но после того, что я вижу в том, что пространство было добавлено автоматически, в результате чего «application/vnd.pagseguro.com.br.v3+json; charset=ISO-8859-1». Это пространство вызывает у меня проблемы, потому что сервер возвращает мне ошибку. Без этого пространства это работает.

Есть ли способ удалить это пространство в заголовке HttpClient? Обычные способы не работают, например trim, или просто replace, когда он находится внутри DefaultRequestHeaders, и я не могу изменить его напрямую.

+0

Я так не думаю. Это звучит странно. Сервер должен принять его. Пробелы допускаются в соответствии со стандартом. –

+0

думаю тоже. Но, к сожалению, серверы UOL не принимают с пространством. Я протестировал и на почтальоне. Но спасибо за комментарий Patrick –

+0

Что такое UOL ...? –

ответ

1

Мне удалось изменить эту проблему, создав новый микросервис с .net Framework 4.5. Используя HttpWebRequest, заголовок не добавляет автоматическое пространство между кодировкой и принимает.

Благодарим за помощь = D