zoukankan      html  css  js  c++  java
  • C#使用HTTP头检测网络资源是否有效

    我们有时候,需要知道某个网络资源是否有效、可用,但是我们并不想打开或下载这个资源,因为这个资源可能很大(例如需要下载的某个文件)

    一种行之有效的方式,就是利用HTTP头返回的状态码来确定资源的可用性;我们通常的WEB访问,使用的是 GET 和 POST, 这里使用的是 HEAD 方式

    static bool IsWebResourceAvailable(string webResourceAddress)
        {
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(webResourceAddress));
                req.Method = "HEAD";
                req.Timeout = 1000;
                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                return (res.StatusCode == HttpStatusCode.OK);
            }
            catch (WebException wex)
            {
                System.Diagnostics.Trace.Write(wex.Message); return false;
            }
        }

    上面的函数中, webResourceAddress 是资源的地址,例如: http://www.zu14.cn/logo.gif

    如果资源可用,返回 true, 否则返回 false

    扩展:可以将 Method 属性设置为任何 HTTP 1.1 协议谓词:GET、HEAD、POST、PUT、DELETE、TRACE 或 OPTIONS。

  • 相关阅读:
    关于研发岗位怎样做新人培训
    打工人的出路
    箭头函数的副作用
    前端日志系统设计
    cocos creator3d开发插件
    linux+Docker+asp.netCore部署
    asp.net core API 3.1获取图片返回流文件
    asp.net Core API 获取ip地址
    asp.net core 3.1配置log4net
    Asp.net Core JsonWebToken记录
  • 原文地址:https://www.cnblogs.com/MichaelZhangX/p/2246074.html
Copyright © 2011-2022 走看看