c# .net httpwebrequest system.net

¿Cómo solicitar solo el encabezado HTTP con C#?



.net httpwebrequest (1)

Necesitas establecer:

webRequest.Method = "HEAD";

De esta manera, el servidor responderá solo con la información del encabezado (sin contenido). Esto también es útil para verificar si el servidor acepta ciertas operaciones (es decir, datos comprimidos, etc.).

Quiero comprobar si existe la URL de un archivo grande. Estoy usando el código de abajo pero es muy lento:

public static bool TryGet(string url) { try { GetHttpResponseHeaders(url); return true; } catch (WebException) { } return false; } public static Dictionary<string, string> GetHttpResponseHeaders(string url) { Dictionary<string, string> headers = new Dictionary<string, string>(); WebRequest webRequest = HttpWebRequest.Create(url); using (WebResponse webResponse = webRequest.GetResponse()) { foreach (string header in webResponse.Headers) { headers.Add(header, webResponse.Headers[header]); } } return headers; }