如何判断网址是否存在
我仅仅会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连接一下网站,看相应的 HttpWebResponse.HttpStatusCode 的值是什么,判断此网站是否存在或是否能连通。
{
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两个类的用法查询MSDN --------------------编程问答-------------------- 占位,回去看一下! --------------------编程问答-------------------- 多谢2楼的兄弟提供两种方法,第一种看着非常烦琐,第二种倒是简单明了。用第二种吧!
几百个网址,我想存在数据库里面,然后读取循环检测,并以类似表格的形式输出来,这个循环怎么写那 --------------------编程问答-------------------- mark! --------------------编程问答-------------------- 顶起来,做过的朋友,出来帮帮忙 --------------------编程问答-------------------- 帮顶! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 一般都这么做 其实你这个应该是用ajax来做
服务器端一次执行这么多请求会出问题的。 --------------------编程问答-------------------- 楼上的兄弟能给出你ajax的解决方法吗? --------------------编程问答-------------------- 关注一下
尤其是ASP.NET在进行批量处理时的时间问题 --------------------编程问答-------------------- 检查 HttpWebResponse.HttpStatusCode --------------------编程问答-------------------- --------------------编程问答-------------------- 帮顶哦 --------------------编程问答-------------------- 顶【远方】兄 --------------------编程问答-------------------- 循环就
SqlDataReader dr = xxxxxxx
while(dr.Read())
{
..............
} --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 2,3楼好方法
MARK --------------------编程问答--------------------
学习了。呵呵 --------------------编程问答--------------------
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