Можно ли отправить http-запрос только для того, чтобы получить время последнего изменения?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Вместо самого файла?

Редактировать

Лучше всего использовать демо-версию на PHP?

Это было полезно?

Решение

<?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'];
?>

Другие советы

ДА.Метод "HEAD" возвращает только заголовки ответов, а не фактические данные.

Вы можете использовать функцию get_headers в php

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

В вашем HTTP-запросе вы должны добавить любой из эти атрибуты заголовка, и вы можете получить номер 304 (Последнее изменение).

  1. Если-Изменено-С тех пор, Как
  2. If-None-Совпадение
  3. If-Неизмененный-Поскольку

Андрей прав, HEAD получит только заголовки.Мое предложение вернет только заголовок и никакого тела, если будут выполнены условия.Если содержимое было обновлено, основной текст будет содержать новую информацию.

Вам нужно написать какой-нибудь сервис для обработки http-запроса и извлечения даты последнего изменения для запрошенного файла и возврата даты в ответ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top