日期:2014-05-19  浏览次数:20418 次

利用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:);