解决方案:先采用系统默认的编码从stream里得到源码,再使用正则表达式获取源码中的[获取网页字符编码描述信息],这个信息,一般来说, 网页里都会有的,在网页源码的<head>里,类似这样的代码:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />(其实不一样完全这样,有些不规范的,没有双引号,或者最后面没有/闭合,所以,正则表达式得考虑周全些),从这个代码里来获取编码信息,再判 断系统当前的默认编码是否和这个一样,如果不同,再使用网页中取到的编码来重新从stream里解释取得网页源码。
/// <summary>
/// C#获取网页源码,自动判断网页字符集编码
/// http://www.taobaonzpd.com/ | http://www.anmoqi10.com/ | http://www.hainandh.com/ | http://www.tb10go.com/ | http://www.tbshc.com/
/// </summary>
/// <param name="url">url是要访问的网站地址</param>
/// <param name="charSet">charSet是目标网页的编码,如果传入的是null或者"",那就自动分析网页的编码</param>
/// <returns></returns>
public stat