这里介绍用C# HTTPWebRequest对象进行请求,用HTTPWebResponse对象接收响应的结果,最后用TextStream对象来提取我们想要的信息,并在控制台打印出来。
本文向咱们介绍C# HTTPWebRequest目标,或许好多人还不知道C# HTTPWebRequest目标,没有联系,看完本文你必定有不少收成,期望本文能教会你更多东西。
本文运用C#和.NET供给的类来轻松创立一个抓取网页内容源代码的程序 。HTTP是WWW进行数据拜访最根本的协议之一,在.NET的根本类型库类中供给了两个目标类:HTTPWebRequest和HTTPWebResponse,别离用来向某资源发送恳求和取得呼应。为了得到一个资源的内容,咱们先指定一个想要抓取的URL地址,用C# HTTPWebRequest目标进行恳求,用HTTPWebResponse目标接纳呼应的成果,最终用TextStream目标来提取咱们想要的信息,并在控制台打印出来。
下面便是看看怎么完成这样的功用:
第一步:翻开VS.NET,点“文件”-“新建”-“项目”,项目类型挑选“Visual C#项目”,模板选“Windows应用程序”,
第二步:在Form1里参加Label1,Button1,TextBox1,TextBox2四个控件,TextBox2的Multiline特点改为True,
第三步:在Form1窗体上点击右键,选“检查代码”,然后在最顶端输入:
- usingSystem.IO;
- usingSystem.Net;
- usingSystem.Text;
- privatevoidbutton1_Click(objectsender,System.EventArgse)
- {
- }
括号之间输入下面的代码:
- byte[]buf=newbyte[38192];
- HttpWebRequestrequest=(HttpWebRequest)
- WebRequest.Create(textBox1.Text);
- HttpWebResponseresponse=(HttpWebResponse)
- request.GetResponse();
- StreamresStream=response.GetResponseStream();
- intcount=resStream.Read(buf,0,buf.Length);
- textBox2.Text=Encoding.Default.GetString(buf,0,
- count);
- resStream.Close();
第四步:点“Save all”按钮,按“F5”运转应用程序,在“请输入URL地址:”后边的单行文本框里输入http://lucky.myrice.com/down.htm,点击“得到 HTML 代码”按钮,就可以看到该地址的代码了!
下面,咱们就对上面的程序做一个剖析:
上面的这个程序的功用是抓取网页http://lucky.myrice.com/down.htm的内容,并在多行文本框里显示出HTML代码,因为回来的数据是字节类型的,因而,咱们创立一个名为buf的字节类型的数组变量来存储恳求回来来的成果,其间数组的巨细与咱们要恳求回来的数据巨细有联系。首要,咱们实例化C# HTTPWebRequest目标,运用WebRequest类的静态办法Create(),该办法的字符串参数便是咱们要恳求页面的URL地址,因为Create()办法回来的是WebRequest类型的,咱们有必要对它进行造型(即类型转化)成HttpWebRequest类型,再赋给request变量。一旦咱们建立了C# HTTPWebRequest目标,就可以运用它的GetResponse()办法来回来一个WebResponse目标,然后再造型成HttpWebResponse目标赋给response变量。现在,就可以运用response目标的GetResponseStream()办法来得到呼应的文本流了,最终用Stream目标的Read()办法把回来的呼应信息放到咱们开端创立的字节数组buf中,Read()有3个参数,别离是:要放入的字节数组,字节数组的开端方位,字节数组的长度。最终把字节转化成字符串,留意:这儿选用的选用的是Default编码,它运用默许的编码办法,咱们就不必再进行字符编码之间的转化了。
【修改引荐】
- C# this关键字详解
- C#调用析构办法详解
- C#开释保管资源简略描绘
- C#单路署理简略剖析
- C#文法发生式概述
知优网 » C# HTTPWebRequest目标浅谈