| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:关于 HttpWebRequest 超时的问题 希望大牛朋友不吝赐教
只看楼主 加入收藏
那就是风
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-1-10
结帖率:66.67%
收藏
已结贴  问题点数:16 回复次数:2 
关于 HttpWebRequest 超时的问题 希望大牛朋友不吝赐教
因为工作需要在编写一个小程序,程序的功能是批量检测url的有效性(即指定的url能否正常访问)
代码如下:
HttpWebRequest myWeb = (HttpWebRequest)WebRequest.Create(这里是URL变量);
            myWeb.Timeout = 50000;      //设置超时时间
            WebResponse WR_response = myWeb.GetResponse();  //返回来自 Internet 资源的响应
            Stream Stream_recv = WR_response.GetResponseStream();   //从返回资源中取得流
            StreamReader SR_read = new StreamReader(Stream_recv, Encoding.Default);  //以一种特定的编码从字节流中读取字符
            string html = SR_read.ReadToEnd();
            textBox1.Text = html;

要的效果是能正常访问的状态后面显示"有效"  ,不能正常访问的或超时5秒不能返回的状态显示"无效"
这里有一个问题  就是如果资源不能访问或者超时5秒程序直接崩溃了    我想知道怎么解决这个问题  比如我设置的是超时5秒 超过5秒不能连接的我如何捕获到这个
信息 而程序不崩溃掉呢 调试了几次  问题出在这句代码"WebResponse WR_response = myWeb.GetResponse();  //返回来自 Internet 资源的响应WebResponse WR_response = myWeb.GetResponse();  //返回来自 Internet 资源的响应"
搜索更多相关主题的帖子: Internet 朋友 检测 资源 
2014-06-07 13:27
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:16 
程序代码:
     try
            {
                 Myrq = ()
    (URL);
                Myrq.KeepAlive = false;
                Myrq.Method = "GET";
                Myrq.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/20100101 Firefox/19.0";
                //如果服务器返回错误,他还会继续再去请求,不会使用之前的错误数据,做返回数据 不过我感觉这句你用不到 可以注释掉
                Myrq.ServicePoint.Expect100Continue = false;
                Myrq.Timeout = 200000;
                ServicePointManager.DefaultConnectionLimit = 20;
                using (HttpWebResponse myrp = (HttpWebResponse)Myrq.GetResponse())
                {
                    if (myrp.StatusCode == HttpStatusCode.RequestTimeout)
                    {
                        //在此处捕捉
                        return;
                    }
                    else
                    {
                   
                    }
                }
         
            }
            catch (System.Exception e)
            {
                //或者在异常处捕捉;
            }

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2014-06-09 09:51
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
看注释 不解释

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2014-06-09 09:51
快速回复:关于 HttpWebRequest 超时的问题 希望大牛朋友不吝赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015967 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved