近日做一个项目,看到一个不错的网站,和我要做的项目很相似,想参考一下,但是看了半天,也没有搞清楚这个网站究竟有哪些功能页面,于是想找一个能获得WEB站点上一个目录下所有文件的软件。但是找了半天也没有,只好自己做一个了。
具体思路是:
首先指定文件名的组成 字母?数字?下划线?)和长度,然后根据组成和长度生成字典
然后利用System.Net命名空间中的WebRequest和WebResponse类来向目标站点提交请求,利用try...catch...捕获错误。如果没有发生错误,说明要请求的页面存在,如果发生WebException错误,说明网页不存在。
在窗体上加一个ListView,以显示探测结果。
具体想法就是这些,下面就开始动手吧!
第一步就是让用户指定文件名的组成,是字母,数字,还是下划线,还是结合?用户指定了组成后,还要指定文件名的长度和扩展名。这些都完成后,就可以生成文件名字典了。具体做法见怎么循环才能得出给定字符的全部排列组合。
文件名有了,就开始探测吧!代码很简单,如下:
private void DetectIt string strPath,string strFileName,string strFileType)
{
/*连接远程站点,探测文件是否存在 */
try
{
WebRequest mRequest = WebRequest.Create strPath + strFileName + strFileType);
WebResponse mResponse = mRequest.GetResponse );
nExistsNumber++;//文件存在,存在文件的数量加1
mResponse.Close );
}
catch WebException err)
{
nNotExistsNumber++;//文件不存在,不存在文件的数量加1
}
catch Exception err1)
{
nErrorNumber++;//探测时发生错误,发生错误的文件的数量加1
}
/* end */
}
到这里,基本的功能就完了。
接下来的工作就是要继续完善功能,提高性能
综合各种需要,做出下面的这个窗体:
相关图片:
地址栏用来输入要探测的网站目录,长度用来选择文件名的长度,textbox扩展名来确定文件的扩展名。组成用来确定文件名的字符组成。如果用户选择了“只显示存在的文件”,那么下面的ListView就只显示探测结果为存在的文件,如果不选,则显示全部。进度条来表示当前探测的进度。清除所有文件用来清空ListView,清除无用文件用来清除探测结果为不存在或失败的文件,导出结果将探测结果存储到一个文本文件中。点击开始进行探测,点击停止停止探测。
|