如何在获取页面源代码时解决编码问题?

时间:2014-05-01 12:01:10

标签: c# html .net html-agility-pack

我正在使用

获取页面源代码
          Uri url = new Uri(urlAddress);
        WebClient client = new WebClient();
        client.Encoding = System.Text.Encoding.UTF8;
        string htlm = client.DownloadString(url);   

但它在kickass.to(torrrent网站)上给出了字符问题,即使它写了

     "meta http-equiv="Content-Type" content="text/html; charset=utf-8""                            

源代码。

还尝试使用此方法http://www.tech-recipes.com/rx/1954/get_web_page_contents_in_code_with_csharp/来获取无效的源代码

示例源代码:http://pastebin.com/ycBjWLRi

如何正确获取源代码?

1 个答案:

答案 0 :(得分:0)

我在最近的一篇文章中注意到了一些关于强制字符编码的内容:

它说你应该这样设置:

HtmlWeb htmlWeb = new HtmlWeb() { 
  AutoDetectEncoding = false, 
  OverrideEncoding = Encoding.GetEncoding("iso-8859-2") 
};

这是使用您标记了问题的Html Agility Pack,但您似乎没有在上面的代码示例或您在tech-recipes.com上链接的文章中实际使用它。