當前位置:編程學習大全網 - 源碼下載 - c#利用WebClient和WebRequest獲取網頁源代碼

c#利用WebClient和WebRequest獲取網頁源代碼

 C#中壹般是可以利用WebClient類和WebRequest類獲取網頁源代碼 下面分別說明這兩種方法的實現

 WebClient類獲取網頁源代碼

 WebClient類

 WebClient類位於System Net命名空間下 WebClient類提供向URI標識的任何本地 Intranet或Internet資源發送數據以及從這些資源接收數據的公***方法

 源代碼

 ///引用命名空間

 using System IO;

 using System Net;

 using System Text;

 PageUrl = webkaka ; //需要獲取源代碼的網頁

 WebClient wc = new WebClient(); // 創建WebClient實例提供向URI 標識的資源發送數據和從URI 標識的資源接收數據

 wc Credentials = CredentialCache DefaultCredentials; // 獲取或設置用於對向 Internet 資源的請求進行身份驗證的網絡憑據

 ///方法壹

 Encoding enc = Encoding GetEncoding( GB ); // 如果是亂碼就改成 utf / GB

 Byte[] pageData = wc DownloadData(PageUrl); // 從資源下載數據並返回字節數組

 ContentHtml Text = enc GetString(pageData); // 輸出字符串(HTML代碼) ContentHtml為Multiline模式的TextBox控件

 /// 方法二

 /// ***************代碼開始**********

 /// Stream resStream = wc OpenRead(PageUrl); //以流的形式打開URL

 /// Encoding enc = Encoding GetEncoding( GB ); // 如果是亂碼就改成 utf / GB

 /// StreamReader sr = new StreamReader(resStream enc); //以指定的編碼方式讀取數據流

 /// ContentHtml Text = sr ReadToEnd(); //輸出(HTML代碼) ContentHtml為Multiline模式的TextBox控件

 /// resStream Close();

 /// **************代碼結束********

 ///

 wc Dispose();

 WebRequest類獲取網頁源代碼

 WebRequest類

 WebRequest類是 NET Framework中 請求/響應 模型的abstract基類 用於訪問Internet數據 使用WebRequest類請求/響應模型的應用程序可以用協議不可知的方式從Internet請求數據 在這種方式下 應用程序處理WebRequest類的實例 而協議特定的子類則執行請求的具體細節 請求從應用程序發送到某個特定的URI 如服務器上的網頁 URI從壹個為應用程序註冊的WebRequest子類列表中確定要創建的適當子類 註冊WebRequest子類通常是為了處理某個特定的協議(如HTTP或FTP) 但是也可以註冊它以處理對特定服務器或服務器上的路徑的請求

 WebRequest類中最常用的是Create方法 Create方法用於為指定的URI方案初始化新的WebRequest實例

 語法

 public static WebRequest Create

 (

 string requestUriString

 )

 參數

 requestUriString 標識Internet資源的URI

 返回值 特定URI方案的WebRequest子類

 註意 Create方法將運行時確定的WebRequest類的子類作為與requestUri最接近的註冊匹配項返回 例如 當//開頭的URI在requestUri中傳遞時 由Create返回壹個HttpWebRequest 如果改為傳遞以file://開頭的URI 則Create方法將返回FileWebRequest實例 NET Framework包括//和file:// URI方案的支持

 WebResponse類

 WebResponse類是abstract基類 協議特定的響應類從該抽象基類派生 應用程序可以使用 WebResponse類的實例以協議不可知的方式參與請求和響應事務 而從WebResponse類派生的協議特定的類攜帶請求的詳細信息

 在WebResponse類中最常用的是GetResponse方法 GetResponse方法用於當在子類中被重寫時 返回對 Internet 請求的響應

 語法

 public virtual WebResponse GetResponse ()

 返回值 包含對Internet請求的響應的WebResponse

 源代碼

 ///引用命名空間

 using System IO;

 using System Net;

 using System Text;

 PageUrl = ; //需要獲取源代碼的網頁

 WebRequest request = WebRequest Create(PageUrl); //WebRequest Create方法 返回WebRequest的子類HttpWebRequest

 WebResponse response = request GetResponse(); //WebRequest GetResponse方法 返回對 Internet 請求的響應

 Stream resStream = response GetResponseStream(); //WebResponse GetResponseStream 方法 從 Internet 資源返回數據流

 Encoding enc = Encoding GetEncoding( GB ); // 如果是亂碼就改成 utf / GB

 StreamReader sr = new StreamReader(resStream enc); //命名空間:System IO StreamReader 類實現壹個 TextReader (TextReader類 表示可讀取連續字符系列的讀取器) 使其以壹種特定的編碼從字節流中讀取字符

 ContentHtml Text = sr ReadToEnd(); //輸出(HTML代碼) ContentHtml為Multiline模式的TextBox控件

 resStream Close();

lishixinzhi/Article/program/net/201311/13576

  • 上一篇:數字藏品怎麽了
  • 下一篇:互聯網上的病毒有多少種類?
  • copyright 2024編程學習大全網