- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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); //下载网页文件,文件内容保存到字串变量
您可能关注的文档
- Tcl库函数.pdf
- UVaOJ 705 - Slash Maze 解题报告.pdf
- 计算机网络期末复习,第4章 网络层 经典习题2.ppt
- java第4节:class++object+_method.pdf
- TMS320F28335中文资料(难得的资料).pdf
- WR11AF;WR12AS;WR11BLU;WR11BS;WR11AS;中文规格书,Datasheet资料.pdf
- 【Android开发Wiki】入门篇Communicating with Other Fragments(三):从另一个Activity中取回反馈结果.pdf
- 【异乡好居】哈德斯菲尔德留学租房,不知道这些就out了.pdf
- 三菱PLC通讯协议参考.pdf
- 三元阿克曼函数非递归(栈).pdf
最近下载
- 随机过程(北大何书元)-课后习题集答案.pdf VIP
- 水文预报课程设计报告.doc
- 智慧职教平法识图与钢筋算量(宁波职院)章节测验作业期末考试答案.docx
- 中职外研版英语基础模块2全册教案教学设计.docx
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf
- 索爱E-19蓝牙音箱说明书用户手册.pdf
- 地铁可视化接地管理系统安装工法19.3.6.doc
- 初中地理教学中学生学习兴趣的培养获奖科研报告论文.docx
- 情绪智力量表(Law,K.S.,Wong,C.S.&Song,L.,2004).doc
- 室外给排水施工方案.docx VIP
文档评论(0)