当前位置: 代码迷 >> ASP.NET >> 利用WebRequest判断一个Url是否有效,有答案就结贴解决办法
  详细解决方案

利用WebRequest判断一个Url是否有效,有答案就结贴解决办法

热度:1634   发布时间:2013-02-25 00:00:00.0
利用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:);
Response.Write(url1 + 存在: + UrlExistsUsingSockets(url1).ToString());
  相关解决方案