#c# #httpclient
#c# #httpclient
Вопрос:
У меня возникла проблема с HttpClient
Visual Studio C #.
Я пытался сделать GetStringAsync
запрос с HttpClient
помощью, но ответ отформатирован не так, как ожидалось.
Запрос похож на phpfile.php?readmode=yes, он отображает ответ текстового файла, но он не отформатирован так, как показано ниже:
hello
hello
но он отображает:
hellohello
Я искал в Интернете почти 2 часа, и я все еще в замешательстве, вот код
string url = URL;
var responseString = await client.GetStringAsync(url);
а затем я добавляю его в текстовое поле (поскольку это какой-то клиент msg):
f1.msglog.Text = f1.msglog.Text Environment.NewLine responseString.ToString();
Комментарии:
1. Проблема заключается в том, что создает эту строку (т.Е. Код PHP). Посмотрите туда.
2. @IanKemp Код работал, когда я использовал WebRequest с программой чтения потоков, поэтому это не ошибка php-скрипта, в fiddler формат правильный, просто HttpClient неправильно отображает его. P.S Я переключился на HttpClient, потому что он более надежный и асинхронный, поэтому клиент не зависает
3. Тогда почему вы изначально не включили эту информацию в свой вопрос? Почему вы не включили скриншот трассировки скрипача? Помогите нам помочь вам, предоставив всю необходимую информацию, а не только фрагменты.
4. Можете ли вы объяснить, что вы подразумеваете под «отображением»? Где вы отображаете текст и изменилось ли что-нибудь в нем с тех пор, как он работал?
Ответ №1:
Это может быть проблемой с различными типами окончаний строк. Попробуйте стандартизировать окончания строк с помощью этого:
responseString.Replace("rn", "n").Replace("r", "n").Replace("n", Environment.NewLine)
Кстати, не вызывайте toString . Это уже была строка, поэтому вызов toString ничего не делает.