C#利用WebClient和WebRequest獲取網(wǎng)頁源代碼的示例代碼
WebClient類獲取網(wǎng)頁源代碼
WebClient類在System.Net命名空間下,WebClient類向URI標(biāo)識的任何本地、Intranet或Internet資源發(fā)送數(shù)據(jù)以及從這些資源接收數(shù)據(jù)的方法。
using System.IO;
using System.Net;
using System.Text;
PageUrl = "http://www.webkaka.com"; //獲取源代碼的網(wǎng)頁
WebClient wc = new WebClient(); // 創(chuàng)建WebClient實例提供向URI
wc.Credentials = CredentialCache.DefaultCredentials; // 獲取或設(shè)置Internet 請求進(jìn)行身份驗證的網(wǎng)絡(luò)憑據(jù)。
Encoding enc = Encoding.GetEncoding("GB2312"); // 亂碼就改成 utf-8 或 GB2312
Byte[] pageData = wc.DownloadData(PageUrl);
ContentHtml.Text = enc.GetString(pageData); // 輸出字符串HTML代碼WebRequest類獲取網(wǎng)頁源代碼
WebRequest類是.NET Framework中“請求/響應(yīng)”模型的abstract基類,用于訪問Internet數(shù)據(jù)。應(yīng)用程序處理WebRequest類的實例,而協(xié)議特定的子類則執(zhí)行請求的具體細(xì)節(jié),請求從應(yīng)用程序發(fā)送到某個特定的URI。注冊WebRequest子類通常是為了處理某個特定的協(xié)議(如HTTP或FTP),但是也可以注冊它以處理對特定服務(wù)器或服務(wù)器上的路徑的請求。
WebRequest類中最常用的是Create方法,為指定的URI方案初始化新的WebRequest實例。
public static WebRequest Create ( string requestUriString )
注意:Create方法將運行時 WebRequest 類的子類作為與requestUri最接近的注冊匹配項返回。如,以http://的URI在requestUri中傳遞時,由Create返回HttpWebRequest。如果為傳遞以file://開頭的URI,則Create將返回FileWebRequest實例。.
WebResponse類是abstract基類,特定的響應(yīng)類從該抽象基類派生。而從WebResponse類派生的協(xié)議特定的類攜帶請求的詳細(xì)信息。
public virtual WebResponse GetResponse () 返回值:對Internet請求的響應(yīng)的WebResponse。
using System.IO;
using System.Net;
using System.Text;
PageUrl = "http://www.webkaka.com"; //獲取源代碼的網(wǎng)頁
WebRequest request = WebRequest.Create(PageUrl); //返回WebRequest的子類HttpWebRequest
WebResponse response = request.GetResponse(); //返回對 Internet 請求的響應(yīng)
Stream resStream = response.GetResponseStream(); //從 Internet 資源返回數(shù)據(jù)流。?
Encoding enc = Encoding.GetEncoding("GB2312"); // 亂碼就改成 utf-8 / GB2312
StreamReader sr = new StreamReader(resStream, enc); //以一種特定的編碼從字節(jié)流中讀取字符。?
ContentHtml.Text = sr.ReadToEnd(); //輸出HTML代碼
sr.Close();到此這篇關(guān)于C#利用WebClient和WebRequest獲取網(wǎng)頁源代碼的示例代碼的文章就介紹到這了,更多相關(guān)C#獲取網(wǎng)頁源代碼的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析C#中StringBuilder類的高效及與String的對比
StringBuilder類所創(chuàng)造出來的字符串對象在拼接操作等方面比普通的string類往往要高效很多,這是它們在內(nèi)存劃分方式上的不同所決定的,下面就來淺析C#中StringBuilder類的高效及與String的對比2016-05-05
Unity Sockect實現(xiàn)畫面實時傳輸案例原理解析
Socket是比較常用的一種通信方式,本文通過案例給大家介紹Unity Sockect實現(xiàn)畫面實時傳輸功能,感興趣的朋友一起看看吧2021-08-08

