如何用法语获取网站内容

时间:2011-07-01 07:17:59

标签: c# httpwebrequest c#-2.0 content-encoding

我的网站内容使用法语。

现在我想通过c#在控制台应用程序中通过HttpWebRequestHttpWebResponse获取这些内容。

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 个答案:

答案 0 :(得分:4)

您确定网络服务器是否使用UTF-8编码进行响应?

更新

您尝试下载的网络服务器正在为字符编码为ISO-8859-1而不是UTF-8的网页提供服务。

您必须(a)更改您的硬编码内容类型或(b)从服务器响应中读取内容类型并使用它。