利用WebRequest判断一个Url是否有效,有答案就结贴
假如我要判断一个Url是不是存在
private bool UrlIsValid(string url)
{
try
{
HttpWebRequest myRequest = (HttpWebRequest)System.Net.WebRequest.Create(url);
myRequest.Method = "HEAD ";
myRequest.Timeout = 100;
HttpWebResponse res = (HttpWebResponse)myRequest.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);
}
catch (WebException we)
{
System.Diagnostics.Trace.Write(we.Message);
return false;
}
}
我在调用这个方法时
if (urlIsValid(this.textBox1.Text))
{
MessageBox.Show( "有效的链接 ");
}
else
{
MessageBox.Show( "无效的链接 ");
}
只调用1次或2次,都可以返回值,但到了第3次以后,就得不到任何返回值了。
我查了一下资料,说要用异步方法“BeginGetResponse”和“EndGetResponse”来操作。
但具体怎么写我还是不太清楚,请教各位一下,谢谢~
------解决方案--------------------查看头里的状态代码 200 400 500
------解决方案--------------------private void Page_Load(object sender, System.EventArgs e)
{
string url1 = http://dotnet.aspx.cc/;
string url2 = http://dotnet.aspx.cc/Images/logo.gif;
Response.Write( <li> 方法1:);
Response.Write(url1 + 存在: + UrlExistsUsingHttpWebRequest(url1).ToString());
Response.Write( <li> 方法2:);