如何獲取網頁源碼

獲取網頁源碼可以通過WebRequest類和WebResponse類。

1.WebRequest類

    WebRequest類是.Net Framework的請求/響應模型的abstract基類,用於訪問Internet數據。使用請求/響應模型的應用程序可以用協議不可知的方式從Internet請求數據。此類在System.Net命名空間下。Request類的常用方法:

方法 說明
Abort 終止請求
BeginGetResponse 當在子類 中被重寫時,開始對Internet資源的異步請求
Create 初始化新的WebRequest
CreateDefault 爲指定的URI方案初始化新的WebRequest實例
EndGetRequestStream 當在子類中重寫時,返回用於將數據寫入Internet資源的Stream(異步訪問)
GetResponse 當在子類中被重寫時,返回對Internet請求的響應
GetSystemWebProxy 返回當前模擬用戶的Internet Explorer設置中配置的代理
RegisterPrefix 爲指定的URI註冊WebRequest子代理
(1)Create方法:爲指定的URI方案初始化新的WebRequest實例。
     語法:public static WebRequest Create (Uri requestUri)
          說明:requestUri表示包含請求資源的URI的Uri,返回值爲指定的URI方案的WebRequest子代理。

(2)GetResponse方法:當在子類中被重寫時,返回對Internet請求的響應。

     語法:public virtual WebResponse GetResponse ()
          說明:返回值包含對Internet請求的響應的WebResponse。

2.WebResponse類

WebResponse類提供來自統一資源標識符(URI)的響應,是一個abstract類。不能直接創建WebResponse對象,而需要通過對WebRequest實例調用GetResponse方法來進行創建。WebResponse類有一個GetResponseStream方法,當在子類中重寫時,此方法從Internet資源返回數據流。

     語法:public virtual Stream GetResponseStream ()
          說明:返回值是用於從Internet資源中讀取數據的Stream類的實例。

代碼示例如下:

private void FrmSource_Load(object sender, EventArgs e)
        {            
            if (!url.StartsWith("http://") || url + "" == "" || url == "about:blank")
            {
                return;
            }
            WebRequest request = WebRequest.Create(url);   //向指定地址的Internet發出請求
            WebResponse response = request.GetResponse();   //獲取響應的實例
            //創建一個文件讀取器
            StreamReader myReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            this.rtxtShowSourceFile.Text = myReader.ReadToEnd();
            response.Close();       //關閉文件流

        }






           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章