c# 判断链接是否有效

 我来答
5563184
推荐于2018-03-23 · 超过12用户采纳过TA的回答
知道答主
回答量:52
采纳率:100%
帮助的人:29.6万
展开全部
    //仅检测链接头,不会获取链接的结果。所以速度很快,超时的时间单位为毫秒
    public static string GetWebStatusCode(string url,int timeout) {
            HttpWebRequest req = null;
            try
            {
                req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
                req.Method = "HEAD";  //这是关键        
                req.Timeout = timeout;
                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                return Convert.ToInt32(res.StatusCode).ToString();
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
            finally {
                if (req != null)
                {
                    req.Abort();
                    req = null;
                }
            }

        }
        
        //需要注意的是如果你使用多线程。。C#默认同时只有4个网络线程,如需要破解此限制需要添加代码
        ServicePointManager.DefaultConnectionLimit = 100;
        
        //此方法返回一个状态码。。状态码为200是为正常,异常时会返回错误信息。比如超时
暨半兰vd
2014-01-16 · TA获得超过327个赞
知道小有建树答主
回答量:187
采纳率:50%
帮助的人:162万
展开全部

直接向服务器发送请求,看返回的数据

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2014-01-16 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:920万
展开全部
HttpWebRequest myReq =(HttpWebRequest)WebRequest.Create("http://www.baidu.com/");
HttpWebResponse response = (HttpWebResponse)myReq.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
    //成功
}
else
{
    //失败
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式