Можно ли отправить запрос http только для получения последнего измененного времени? - PullRequest
1 голос
/ 27 ноября 2009

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

EDIT

Лучше всего с демонстрацией в PHP?

Ответы [ 5 ]

4 голосов
/ 27 ноября 2009

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

2 голосов
/ 27 ноября 2009

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

$a = get_headers('http://sstatic.net/so/img/logo.png');
print_r($a);
1 голос
/ 27 ноября 2009
<?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'];
?>
1 голос
/ 27 ноября 2009

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

  1. If-Modified-Since
  2. If-None-Match
  3. If-Unmodified-С

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

0 голосов
/ 27 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...