判断网页URL是否存在
2014-03-05 13:28
309 查看
最近做了一个工具用于测试网页的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和其下面的内容,而不同的站点内容不一致,如果不是我们想要的页面都直接认为其有误,所以这时我们不得不去判断其内容了,所以我建议大家对后一种方法重点掌握。
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和其下面的内容,而不同的站点内容不一致,如果不是我们想要的页面都直接认为其有误,所以这时我们不得不去判断其内容了,所以我建议大家对后一种方法重点掌握。
相关文章推荐
- 判断网页URL是否存在
- 判断网页控件是否存在,并修改显示属性
- 判断url是否存在某个字符
- 判断网页里面是否存在【Referer判断跳转】
- 根据url读取图片,直接压缩写到zip流【含判断url地址是否存在】
- 判断URL是否存在
- 通过对URL判断,检测引用的文件是否存在
- Delphi_判断Webbrowser打开的网页组件是否存在?
- 用xmlhttp判断url是否存在
- PHP判断远程图片或文件或url是否存在-180
- ASP.NET判断URL参数是否存在
- 如何用JS判断网页中某个id的网页元素是否存在
- js判断网页对象是否存在
- C#判断网络地址 Url 是否存在的方法
- 分别从客户端和服务端判断远程URL是否存在的方法
- 判断网页是否存在,可以通过get_headers()函数
- C#判断网络地址 Url 是否存在的方法
- 通过URL判断文件是否有存在
- java判断url地址是否存在
- Delphi_判断Webbrowser打开的网页组件是否存在?