Как получить контент сайта на французском языке - PullRequest
0 голосов
/ 01 июля 2011

У меня есть сайт, содержание которого на французском языке.

Теперь я хочу получить их через HttpWebRequest и HttpWebResponse в консольном приложении, используя c #.

public string GetContents(string url)
{
    StreamReader _Answer;
    try
    {
        HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url);
        WebReq.Headers.Add(HttpRequestHeader.AcceptEncoding, "utf-8");
        WebReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1;)";
        WebReq.ContentType = "application/x-www-form-urlencoded";
        HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
        Stream Answer = WebResp.GetResponseStream();
        Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
        _Answer = new StreamReader(Answer, Encoding.UTF8);
        return _Answer.ReadToEnd();
    }
    catch
    {
    }
    return "";
}

Я получаю содержимое, но оно содержит какой-то странный символ, например квадраты и т. Д.

1 Ответ

4 голосов
/ 01 июля 2011

Вы уверены, что веб-сервер отвечает кодировкой UTF-8?

Обновление:

Веб-сервер, с которого вы пытаетесь загрузить, обслуживает страницы с кодировкой символов:ISO-8859-1, а не UTF-8.

Вы должны (a) изменить тип содержимого с жестким кодом или (b) прочитать тип содержимого из ответа сервера и использовать его.

...