¿Es posible enviar una solicitud http solo para obtener la última hora de modificación?

StackOverflow https://stackoverflow.com/questions/1806686

  •  05-07-2019
  •  | 
  •  

Pregunta

¿En lugar del archivo en sí?

EDIT

¿Lo mejor con una demostración en PHP?

¿Fue útil?

Solución

<?php
// Get Headers
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,            'http://example.com/'); 
curl_setopt($ch, CURLOPT_HEADER,         true); 
curl_setopt($ch, CURLOPT_NOBODY,         true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT,        10); 
$response = curl_exec($ch); 

// Process Headers
$headerLines = explode("\r\n", $response);
foreach ($headerLines as $headerLine) {
    $headerLineParts = explode(': ', $headerLine);
    if (count($headerLineParts) >= 2) {
        $headers[$headerLineParts[0]] = $headerLineParts[1];
    }
}

echo $headers['Last-Modified'];
?>

Otros consejos

Sí. El " HEAD " El método solo devuelve los encabezados de respuesta y no los datos reales.

Puedes usar la función get_headers de php

$a = get_headers('http://sstatic.net/so/img/logo.png');
print_r($a);

En su solicitud HTTP, debe agregar cualquiera de estos atributos de encabezado, y puede recibir un 304 (Última modificación)

  1. If-Modified-Since
  2. Si-Ninguno-coincide
  3. If-Unmodified-Since

Andrei es correcto, HEAD solo obtendrá los encabezados. Mi sugerencia devolverá solo el encabezado y ningún cuerpo si se cumplen las condiciones. Si el contenido ha sido actualizado, el cuerpo contendrá la nueva información.

Debe escribir algún servicio para manejar la solicitud http y extraer la última fecha de modificación del archivo solicitado y devolver la fecha en respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top