代码:
/// <summary> /// HTTP资源下检测URL地址下文件大小 /// </summary> /// <param name="Url"></param> /// <returns></returns> public static double GetSizeURL(string Url) { double length = 0; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Timeout = 3000; request.Method = "HEAD"; HttpWebResponse res = (HttpWebResponse)request.GetResponse(); if (res.StatusCode == HttpStatusCode.OK) { length = res.ContentLength; } res.Close(); } catch { } return Math.Ceiling(length / 1024.0) / 1024f;//KB; }
备注:
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化新的 HttpWebRequest 对象。如果统一资源标识符 (URI) 的方案是 http:// 或 https://,则 WebRequest.Create 返回 HttpWebRequest 对象。
HttpWebResponse.StatusCode 属性 :
StatusCode 参数是一个指示 HTTP 响应状态的数字。在 HttpStatusCode 类中定义了所需的状态值。
HttpStatusCode 枚举:
成员名称 | 说明 | |
---|---|---|
OK | 等效于 HTTP 状态 200。OK 指示请求成功,且请求的信息包含在响应中。这是最常接收的状态代码。 | |
NotFound | 等效于 HTTP 状态 404。NotFound 指示请求的资源不在服务器上。 |