当前位置:编程学习 > C#/ASP.NET >>

如何判断网址是否存在

我仅仅会asp.net 2.0和 C#,因为手头很多网站几百个,想做一个.net页面批量来判断网站是否正常打开,谢谢! --------------------编程问答-------------------- 读取,看看是否成功。 --------------------编程问答--------------------
//  无效的网址 
/// <summary> 
        ///  请求失败的时候,反复操作 
        /// </summary> 
        /// <param name="PageUrl"> </param> 
        /// <returns> </returns> 
        public string ToServer(string PageUrl) 
        { 
            string responseFromServer = ""; 
          
            try 
            {                
                while (1 == 1) 
                { 
                    WebRequest request = WebRequest.Create(PageUrl); 
                    WebProxy wp = new WebProxy(al[proxy].ToString(), true); 
                    request.Proxy = wp; 
                    request.Timeout = 1000 * 45; 

                    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
                    Stream dataStream = response.GetResponseStream(); 
                    StreamReader reader=null; 
                
                        reader = new StreamReader(dataStream, System.Text.Encoding.Default); 
                        responseFromServer = reader.ReadToEnd(); 
                    
                    reader.Close(); 
                    dataStream.Close(); 
                    response.Close(); 
                    if (responseFromServer.Contains("refresh") ¦ ¦ responseFromServer == "") 
                    { 
                        proxy++; 
                        if (proxy >= al.Count) 
                        { 
                            al = ReadIPproxy("e:\\test.txt");//初始化代理  IP 
                        } 
                        //ToServer(PageUrl); 
                    } 
                    else 
                    { 
                        break; 
                    } 
                } 
            } 
            catch (WebException ex) 
            {                
                if (ex.Status == WebExceptionStatus.ProtocolError) 
                {                  
                    responseFromServer = ""; ///////无效的 网址, 
                } 
                else 
                { 
                    proxy++; 
                    if (proxy >= al.Count) 
                    { 
                        al = ReadIPproxy("e:\\test.txt");//初始化代理  IP 
                    } 
                    ToServer(PageUrl); 
                } 
            }          
            return responseFromServer; 
        } 

--------------------编程问答--------------------
try   
  {   
  HttpWebRequest     request   =   (HttpWebRequest)WebRequest.Create(SiteUrl);   
  HttpWebResponse   myResponse   =   (HttpWebResponse)request.GetResponse();   
  if(   myResponse.StatusDescription.ToString().ToUpper()   ==   "OK")   
  {   
  Trace.Write("ok");   
  }   
    
  }   
  catch(WebException   webExcp)   
  {   
  Trace.Write(webExcp.Message);   
  }
--------------------编程问答-------------------- 楼上两位都可以。简单说就是使用HttpWebRequest连接一下网站,看相应的 HttpWebResponse.HttpStatusCode 的值是什么,判断此网站是否存在或是否能连通。
HttpWebRequest、HttpWebResponse两个类的用法查询MSDN --------------------编程问答-------------------- 占位,回去看一下! --------------------编程问答-------------------- 多谢2楼的兄弟提供两种方法,第一种看着非常烦琐,第二种倒是简单明了。用第二种吧!

几百个网址,我想存在数据库里面,然后读取循环检测,并以类似表格的形式输出来,这个循环怎么写那 --------------------编程问答-------------------- mark! --------------------编程问答-------------------- 顶起来,做过的朋友,出来帮帮忙 --------------------编程问答-------------------- 帮顶! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 一般都这么做 其实你这个应该是用ajax来做
服务器端一次执行这么多请求会出问题的。 --------------------编程问答-------------------- 楼上的兄弟能给出你ajax的解决方法吗? --------------------编程问答-------------------- 关注一下

尤其是ASP.NET在进行批量处理时的时间问题 --------------------编程问答-------------------- 检查 HttpWebResponse.HttpStatusCode --------------------编程问答--------------------
引用 14 楼 Jinglecat 的回复:
检查 HttpWebResponse.HttpStatusCode
--------------------编程问答-------------------- 帮顶哦 --------------------编程问答-------------------- 顶【远方】兄 --------------------编程问答-------------------- 循环就
SqlDataReader dr = xxxxxxx

while(dr.Read())
{
..............
} --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 2,3楼好方法
MARK --------------------编程问答--------------------
引用 3 楼 fellowcheng 的回复:
C# codetry   
  {   
  HttpWebRequest     request   =   (HttpWebRequest)WebRequest.Create(SiteUrl);   
  HttpWebResponse   myResponse   =   (HttpWebResponse)request.GetResponse();   
  if(   myResponse.StatusDescription.ToString().ToUpper()   ==   "OK")   
  {   
  Trace.Write("ok");   
  }   
    
  }   
  catch(WebException   webExcp)   
  {   
  Trace.Write(webExcp.Message);   
  }


学习了。呵呵 --------------------编程问答--------------------   
  HttpWebRequest    request  =  (HttpWebRequest)WebRequest.Create(SiteUrl);  
  HttpWebResponse  myResponse  =  (HttpWebResponse)request.GetResponse();  
  if(  myResponse.StatusDescription.ToString().ToUpper()  ==  "OK")  
  {  
  Trace.Write("ok");  
  }  
    
  }  
  catch(WebException  webExcp)  
  {  
  Trace.Write(webExcp.Message);  
  } 
--------------------编程问答-------------------- mark --------------------编程问答-------------------- 多谢各位的回答,再次感谢 --------------------编程问答-------------------- DING --------------------编程问答-------------------- 大家来帮帮忙 --------------------编程问答-------------------- 顶顶,大家做过的来看看 --------------------编程问答-------------------- ajax也就判断返回状态的值! --------------------编程问答-------------------- mark 学习! --------------------编程问答-------------------- 顶顶这个问题 --------------------编程问答-------------------- 大家有成功的案例吗?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,