C#怎么判断网站页面是否存在

我是个新手求代码,怎么去判断网站的页面是否存在!在这里谢谢各位帮忙的... 我是个新手求代码,怎么去判断网站的页面是否存在!在这里谢谢 各位帮忙的 展开
 我来答
ahcc08
2014-04-13 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51942
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
最近做了一个工具用于测试网页的url是否存在,刚开始接到任务时感觉无从着手,之后就忙着百度,谷歌,但是网上通用的一些方法并不能很好的解决问题,有时候我们需要真对我们所要工作的内容和性质写不同的代码,一般通用测试URL是否存在,都是判断浏览器的响应值是否ok,代码如下:
HttpWebRequest myRequest= (HttpWebRequest)WebRequest.Create(url);
myRequest.Method="HEAD";  //设置提交方式可以为"get","head"等
myRequest.Timeout=10000;  //设置网页响应时间长度
myRequest.AllowAutoRedirect=false;//是否允许自动重定向
HttpWebResponse myResponse= (HttpWebResponse)myRequest.GetResponse();
return (myResponse.StatusCode==HttpStatusCode.OK);//返回响应的状态
值得说明的是有时某些URL是权限设置的,所以我们应在上面的语句中加入一句代码:myRequest.UseDefaultCredentials=true;
如果不加的话,可能会使判断失误。

上述这些代码只可以用来判断一些URL是否存在,但是有时候我们需要不光要判断这个URL是否存在,而且还要判断其是否是我们想要的页面,这时我们就得其中html内容的值来做具体判断,也就是对html做遍历,匹配一些字符串,所以上面的这段代码就不适用了,我推荐用下面的这种方法:
WebClient wc=new WebClient();
wc.UseDefaultCredentials=true;
Stream resStream=wc.OpenRead(url); //Open theurl by stream
Encoding enc=Encoding.GetEncoding("GB2312"); //If is the messycode than change uft-8
StreamReader sr=newStreamReader(resStream,enc);
var html=sr.ReadToEnd().ToUpper();
……
在上述代码中html是响应的页面的源码,即html,从中可以用字符串方法来查找是否为我们所需的内容,从而判断url是否存在,这在企业中一般是比较常用的,因为在现实生活不会让你判断一个URL是否存在,一般都是判断一个站点的url和其下面的内容,而不同的站点内容不一致,如果不是我们想要的页面都直接认为其有误,所以这时我们不得不去判断其内容了。

希望采纳!
追问
你好,我要详细的全代码!这个我在网上看过了 不是非常明白 新手请见谅!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式