第一种:
/// <summary> /// 下载网页源代码 /// </summary> /// <param name="Url">网页路径</param> /// <returns></returns> private string DownloadCode(string Url) { try { WebClient webClient = new WebClient(); Byte[] pageData = webClient.DownloadData(Url); return Encoding.GetEncoding("utf-8").GetString(pageData); } catch (Exception ec) { throw new Exception(ec.Message.ToString()); }
第二种:
/// <summary> /// 请求地址,返回html代码 /// </summary> /// <param name="url">地址</param> /// <param name="timeOut">设置请求的超时时间,1000=1秒</param> /// <returns></returns> public static string HttpGet(string url,int timeOut) { try { ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072; string html; HttpWebRequest Web_Request = (HttpWebRequest)WebRequest.Create(url); Web_Request.AllowAutoRedirect = false; //设置请求超时时间 Web_Request.Timeout = timeOut; //请求方式GET,POST Web_Request.Method = "GET"; //请求的身份 Web_Request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"; //添加请求头信息 Web_Request.Headers.Add("Accept-Encoding", "gzip, deflate"); Web_Request.ContentType = "application/x-www-form-urlencoded"; //Web_Request.Credentials = CredentialCache.DefaultCredentials; //设置代理属性WebProxy------------------------------------------------- //WebProxy proxy = new WebProxy("111.13.7.120", 80); //在发起HTTP请求前将proxy赋值给HttpWebRequest的Proxy属性 //Web_Request.Proxy = proxy; HttpWebResponse Web_Response = (HttpWebResponse)Web_Request.GetResponse(); if (Web_Response.ContentEncoding.ToLower() == "gzip") // 如果使用了GZip则先解压 { using (Stream Stream_Receive = Web_Response.GetResponseStream()) { using (var Zip_Stream = new GZipStream(Stream_Receive, CompressionMode.Decompress)) { using (StreamReader Stream_Reader = new StreamReader(Zip_Stream, Encoding.Default)) { html = Stream_Reader.ReadToEnd(); } } } } else { using (Stream Stream_Receive = Web_Response.GetResponseStream()) { using (StreamReader Stream_Reader = new StreamReader(Stream_Receive, Encoding.Default)) { html = Stream_Reader.ReadToEnd(); } } } return html; } catch (Exception) { return "error"; } }