Задать вопрос
@dlysenko1311

Почему вместо текста, я вижу набор символов, как исправить?

Скачиваю CSV файл по апи таки образом:
var request = WebRequest.Create(url);
request.Method = "GET";

var webStream = request.GetResponse().GetResponseStream();
var reader = new System.IO.StreamReader(webStream);
var data = reader.ReadToEnd();

Console.Write(data);


Но, когда я делаю
Console.Write(data);

То вижу это:
63c2d0f40520e610915151.png

в дальнейшем мне нужно обработать этот файл, но я не могу это сделать из-за того что файл нормально не читается
Как это исправить?
  • Вопрос задан
  • 492 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Смотрите хедеры как запроса так и ответа, на мой взгляд похоже что сервер отдает в сжатом виде gzip

Попробуйте рецепты из вот этого поста
https://stackoverflow.com/questions/839888/httpweb...
Ответ написан
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Открою маленький секрет: есть такая штука, как кодировка текста - пока не скажете машине в какой кодировке ваш текст, она не сможет правильно его отобразить. Поэтому вам для начала надо разобраться в какой кодировке приходит текст от сервера, затем при необходимости перекодировать текст, а уже только потом вывести в правильной кодировке или куда-то его сохранить.
Ответ написан
Попробуй для начала перейти на HttpClient.

Он и кодировки учитывает, и с gzip точно проблем не будет.

А в твоём коде кодировка указывается в StreamReader.

PS:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />


Обновись до NET 7 :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы