用C#中的WebClient类编写整站下载软件.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C#中的WebClient类编写整站下载软件

姓名:吴晓春 联系电话 电子信箱: wuxc@ 通讯地址:江苏省南通市中学堂街 9 号信息技术学科 邮编:226000 作者简介:男,教师,软件设计师。 在C#中用 WebClient 类编写整站下载软件 江苏省南通中学信息技术学科 吴晓春 [ 摘要 ] 在 VC #2005 环境下,开发一个整站下载程序。使用队列作为主要的数据结构,存放下载链 接并依次下载,直到完成。 [关键词] 队列、WebClient 类、异步调用、委托、多线程 编程思路 整站下载又称为离线浏览,如大名鼎鼎 WebZipt 可以下载整个站点的内容,来离线游览或研究。本人 试着写了一个整站下载程序,介绍给大家。 本程序用队列作为数据结构,存放下载链接。首先,将起始链 接置入队列;然后,依次下载队列中的每一项链接,保存到本地。若下载的是网页,就搜索其中包含超链 接,判断队列中是否包含该链接(防止循环链接) ,没有则加入队列。直到队列中全部链接下载完成。队列内 容及下载进度将在界面上显示,并统计下载的文件数和搜索到的链接数。 [ 程序示意 ] 下载队列 ■■■■■■■■■■■■■■■■■■■■ headi private void startdown() 下载 headi 指示的链接 private void spreaddelegate(……) 下载项为网页时 搜索链接,加入队列。 private void writelocal(……);网页存盘 mainWc.DownloadFile(……);其它下载直接存盘 [ 程序界面 ] 下面就程序中涉及到的技术如 Webclient 类下载数据、BeginInvoke 异步委托调用、在工作线程中更新 UI 、正则表达式搜索超链接等逐个讲述,并给出完整代码。 WebClient 类 WebClient 类提供向 URI 标识的任何本地、Intranet 或 Internet 资源发送数据以及从这些资源接收数 据的公共方法。WebClient 类提供的下载数据的方法主要有: DownloadData 从资源下载数据并返回字节数组 DownloadFile 从资源将数据下载到本地文件 DownloadString 从资源下载数据并字串 本文用到 WebClient.DownloadFile 方法和 WebClient. DownloadString 方法: public void DownloadFile(string address, string fileName); [参数] address 从中下载数据的 URI 。 fileName 要接收数据的本地文件的名称。 [异常] WebException address 指示的 URI 无效。 fileName 为空引用。 SecurityException 没有写入本地文件的权限。 [C# 代码片断] WebClient mainWc = new WebClient (); //利用 webclien 实现下载功能 mainWc.DownloadFile(/catalog.shtml, c:\\catalog.shtml); public String DownloadString ( string address); 参数 address 从中下载数据的 URI 。 返回 字串类型 异常 WebException address 指示的 URI 无效。 [C# 代码片断] WebClient mainWc = new WebClient (); String downUrl=/catalog.shtml ; String s0 = mainWc.DownloadString(downUrl); //下载网页文件,文件内容保存到字串变量

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档