2009-03-18 19 views

Respuesta

17

Utilice el método HTTP HEAD para recuperar Content-Length: header.

HEAD/HTTP/1.1 
Host: www.example.com 

HTTP/1.1 200 OK 
Date: Wed, 18 Mar 2009 11:21:51 GMT 
Server: Apache/2.2.3 (CentOS) 
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT 
ETag: "b80f4-1b6-80bfd280" 
Accept-Ranges: bytes 
Content-Length: 438 
Connection: close 
Content-Type: text/html; charset=UTF-8 
+1

Hola puede utilizar el código en esta página para conseguir realmente los detalles (para cualquier persona que necesita la información) http://www.eggheadcafe.com/tutorials/aspnet/2c13cafc-be1c-4dd8-9129-f82f59991517 /the-lowly-http-head-reque.aspx – RC1140

+0

Suponiendo que el encabezado Content-Length está allí. Te sorprendería saber cuántos sitios no brindan esa información y cuántos ni siquiera admiten HEAD. –

+0

¿Qué usarías como alternativa? – RC1140

2

hacer una cabeza (en lugar de GET o POST) solicitud para obtener sólo las cabeceras de respuesta, esto debe incluir el encabezado de longitud de contenido con la información que necesita.

-1

También puede usar el encabezado HTTP RANGE para descargar solo las cosas que desea.

Sería realmente simple construir un HttpRangeStream que admita buscar y leer en un recurso HTTP remoto, si el servidor remoto es HTTP 1.1 y admite encabezados RANGE correctamente.