下载文档
额!下载文档这事儿我也能干??能a!不过就是不太完美,但简单的下载还是可以的!成长嘛,是需要过程di...
这个过程中需要一个知识点:URL。统一资源定位符(英UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的。URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。
URL 的一般形式是:
<URL的访问方式>://<主机>:<端口>/<路径>
URL的访问方式有:
1.ftp —— 文件传送协议 FTP
2.http —— 超文本传送协议HTTP
3.News —— USENET新闻
<主机> 是存放资源的主机在因特网中的域名
举个例子来记录一下:
static void Main(string[] args) { //准备一个URL,就是要下载资源的地址 string url = "http://www.sohu.com"; WebRequest wr = WebRequest.Create(url); WebResponse wsp = wr.GetResponse(); Stream st = wsp.GetResponseStream(); //创建一个流对象,用来解压(或者压缩)文件,这里的sohu网首页是一个压缩文件,所以需要解压 GZipStream gzs = new GZipStream(st, CompressionMode.Decompress); //将文件以GBK编码格式读出来 StreamReader sr = new StreamReader(gzs, Encoding.GetEncoding("gbk")); //ReadToEnd这个方法非常好,可以直接读到文件的末尾,速度比较快 string ss = sr.ReadToEnd(); Console.WriteLine(ss); //以GBK 的编码格式写进我们事先准备好的文档(souhu.html)保存下来 StreamWriter sw = new StreamWriter("souhu.html", false, Encoding.GetEncoding("gbk")); sw.WriteLine(ss); sw.Flush(); sw.Close(); sr.Close(); gzs.Close(); st.Close(); }
看看结果什么样。。
这样就将搜狐首页的源代码得到了,将保存的“sohu.html”文档用浏览器打开就得到了一模一样的网页。
转载于:https://blog.51cto.com/broncho/1293714