国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#網頁信息采集方法匯總

2019-10-29 21:44:27
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C#網頁信息采集方法,實例匯總了三種常用的方法,是非常實用的技巧,需要的朋友可以參考下
 

本文實例總結了三種常用的C#網頁信息采集方法。分享給大家供大家參考。具體實現方法如下:

一、通過HttpWebResponse 來獲取

 

復制代碼代碼如下:
public static string CheckTeamSiteUrl(string url)  
{  
        string response = "";  
        HttpWebResponse httpResponse = null;  
  
        //assert: user have access to URL   
        try  
        {  
            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);  
            httpRequest.Headers.Set("Pragma", "no-cache");  
  
                // request.Headers.Set("KeepAlive", "true");  
  
                httpRequest.CookieContainer = new CookieContainer();  
  
  
  
                httpRequest.Referer = url;  
  
                httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";  
  
                
  
            httpRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;  
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();  
              
        }  
        catch (Exception ex)  
        {  
            throw new ApplicationException("HTTP 403 Access denied, URL: " + url, ex);  
        }  
  
        //if here, the URL is correct and the user has access   
        try  
        {  
            string strEncod = httpResponse.ContentType;  
            StreamReader stream;  
            if (strEncod.ToLower().IndexOf("utf") != -1)  
            {  
                stream = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8);  
            }  
            else  
            {  
                stream = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.Default);  
            }  
             
            char[] buff = new char[4000];  
            stream.ReadBlock(buff,0,4000);  
            response = new string(buff);  
            stream.Close();  
            httpResponse.Close();  
        }  
        catch (Exception ex)  
        {  
            throw new ApplicationException("HTTP 404 Page not found, URL: " + url, ex);  
        }  
        return response;  
}

 
二、通過 WebResponse 來獲取

 

 

復制代碼代碼如下:
public static string getPage(String url)  
{
        WebResponse result = null;  
        string resultstring = "";  
        try  
        {  
            WebRequest req = WebRequest.Create(url);  
            req.Timeout = 30000;  
            result = req.GetResponse();  
            Stream ReceiveStream = result.GetResponseStream();  
  
            //read the stream into a string  
            //StreamReader sr = new StreamReader(ReceiveStream, System.Text.Encoding.UTF8);  
            string strEncod = result.ContentType;  
            StreamReader sr;  
            if (strEncod.ToLower().IndexOf("utf") != -1)  
            {  
                sr = new StreamReader(ReceiveStream, System.Text.Encoding.UTF8);  
            }  
            else  
            {  
                sr = new StreamReader(ReceiveStream, System.Text.Encoding.Default);  
            }  
            resultstring = sr.ReadToEnd();  
            js.alert(resultstring);  
            //Console.WriteLine(resultstring);  
        }  
        catch  
        {  
            throw new Exception();  
        }  
        finally  
        {  
            if (result != null)  
            {  
                result.Close();  
            }  
        }  
        return resultstring;  
}

 
三、通過WebClient來獲取

 

 

復制代碼代碼如下:
public string get(int length)  
{  
        try  
        {  
            getEncodeing();  
            WebClient wb = new WebClient();  
            Stream response = wb.OpenRead(url);  
            StreamReader reader = new StreamReader(response, this.encoding, true, 256000);  
            char[] a = new char[length];  
            int i  = reader.Read(a,0,length);  
            reader.Close();  
            return new string(a);  
        }  
        catch (Exception e)  
        {  
            return e.Message;  
            //return null;  
        }  
}  
private void getEncodeing()  
{
        switch (this.encode)  
        {  
            case "UTF-8": encoding = Encoding.UTF8; break;  
            case "GB2312": encoding = Encoding.GetEncoding("GB2312"); break;  
            case "ASCII": encoding = Encoding.ASCII; break;  
            default: encoding = Encoding.GetEncoding(encode); break;  
        }  
}

 

希望本文所述對大家的C#程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 胶南市| 辽阳市| 淳化县| 富顺县| 邢台市| 昌黎县| 保德县| 龙川县| 蕲春县| 唐山市| 融水| 韶关市| 宁德市| 凤山县| 泰兴市| 锦州市| 祁门县| 治县。| 惠水县| 汝州市| 类乌齐县| 炉霍县| 彩票| 馆陶县| 茶陵县| 东城区| 东台市| 许昌市| 鄱阳县| 罗江县| 佛山市| 利津县| 黎平县| 上高县| 伊金霍洛旗| 镇江市| 岑溪市| 礼泉县| 东源县| 亚东县| 兴仁县|