1. 程式人生 > >C#獲取網頁原始碼

C#獲取網頁原始碼

/// <summary>
/// 獲取網頁原始碼
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
protected string GetContent(Uri url)
{
	HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
	request.Timeout = 30000;
	HttpWebResponse response = (HttpWebResponse)request.GetResponse();

	System.IO.StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
	string content = sr.ReadToEnd();
	sr.Close();
	response.Close();
	return content;
}


        #region 根據連接獲取原始檔
        /// <summary>
        /// 根據連接獲取原始檔
        /// </summary>
        /// <param name="URL">URL地址</param>
        /// <param name="Address">IP地址,列如:81.210.118.81</param>
        /// <param name="port">port埠,列如:8080</param>
        /// <returns>html原始檔</returns>
        public string GetContent(Uri URL, string Address, string port)
        {
            try
            {
                WebProxy proxyObject = new WebProxy(Address, Convert.ToInt32(port));
                CookieContainer Cc = new CookieContainer();
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
                request.Proxy = proxyObject;
                request.Timeout = 2500;
                request.Method = "Get";
                request.KeepAlive = false;
                request.CookieContainer = Cc;
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312")))
                        return reader.ReadToEnd();
                }
            }
            catch (Exception)
            {
                return "Error";
            }
            finally
            { }
        }        
#endregion