注: 注意nuget引用dll:System.Text.Encoding.CodePages, 记得先加载这句代码,System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); 否则无法识别对应的编码格式
简单代码如下
/// <summary>
/// 根据Url获取相应网页源代码
/// </summary>
/// <param name="url">网址</param>
/// <param name="encodeing">网页编码格式</param>
/// <returns>网页html代码</returns>
private static string GetStrByUrl(string url, string encodeing)
{
string str = "";
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);//得先执行这句,不然无法识别encodeing类型
Encoding ecd = string.IsNullOrEmpty(encodeing) ? Encoding.Default : Encoding.GetEncoding(encodeing);
try
{
WebRequest request = HttpWebRequest.Create(url);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encodeing));
str = reader.ReadToEnd();
reader.Close();
reader.Dispose();
response.Close();
}
catch (Exception ex)
{
str = ex.Message;
}
return str;
}
//简单调用
public void Start(string url)
{
var json=GetStrByUrl(url,"gb2312");//简单测试
}