如何获取网页源码

来源:互联网 发布:青少年行知实践园在哪 编辑:程序博客网 时间:2024/05/17 03:37

获取网页源码可以通过WebRequest类和WebResponse类。

1.WebRequest类

    WebRequest类是.Net Framework的请求/响应模型的abstract基类,用于访问Internet数据。使用请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据。此类在System.Net命名空间下。Request类的常用方法:方法说明Abort终止请求BeginGetResponse当在子类 中被重写时,开始对Internet资源的异步请求Create初始化新的WebRequestCreateDefault为指定的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();       //关闭文件流        }






           

原创粉丝点击