Скачать веб-страницу в UTF-8 - PullRequest
0 голосов
/ 01 декабря 2011

Я использую приведенный ниже код для загрузки этого XML-файла :

private async static Task<string> DownloadPageAsync(string url)
{
    try
    {
        HttpClientHandler handler = new HttpClientHandler();
        handler.UseDefaultCredentials = true;
        handler.AllowAutoRedirect = true;
        handler.UseCookies = true;
        HttpClient client = new HttpClient(handler);
        client.MaxResponseContentBufferSize = 10000000;
        HttpResponseMessage response = await client.GetAsync(url);
        response.EnsureSuccessStatusCode();

        string responseBody = response.Content.ReadAsString();
        return responseBody;
    }
    catch (Exception ex)
    {
        return "error" + ex.Message;
    }
}

, но документ, который я получаю, кажется, имеет проблемы с кодировкой.Хотя документ не очень хорошо отформатирован, я предполагаю, что моя загруженная веб-страница не поддерживается в формате UTF-8.Как я могу вернуть строку UTF-8?Спасибо.

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

код вашей ссылки iso-8859-1 .

использование

XmlDocument.Load (uriString)

или

XDocument.Load (uriString)

1 голос
/ 01 декабря 2011

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

Если это не вариант, вам необходимо знать, какую кодировку использует документ, а затем преобразовать его в UTF8, используя классы Encoding для преобразования из исходной кодировки в UTF8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...