2016-10-13 1 views
0

Как определить, является ли данный URL-адрес загружаемым файлом?Обнаружение, если URL-адрес загрузки файла

Я наткнулся на заголовок content-disposition, однако, похоже, это не входит в состав http 1.1 напрямую.

Есть ли более стандартный способ обнаружения, если response для запроса GET, сделанного для данного URL, на самом деле является файлом, который можно загрузить?

Это ответ не html или json или ничего подобного, но что-то вроде изображения, mp3, pdf-файла и т. Д.?

+0

Что заставляет вас думать, что Content-Disposition не является «частью» HTTP? См. Http://www.iana.org/assignments/message-headers/message-headers.xhtml –

+0

@JulianReschke https://www.ietf.org/rfc/rfc2616.txt, раздел 5.5. – Thihara

+0

RFC 2616 был устаревшим два года назад. –

ответ

0

Я закончил использовать content-type, чтобы решить, является ли это html-файлом или другим файлом, который находится на другом конце данного URL-адреса.

Я использую заголовок content-disposition для определения исходного имени файла, если он существует, поскольку заголовок недоступен во всем мире.

2

HTTP - это протокол передачи данных, что совсем не так для макетов жестких дисков. Понятие «файл» просто не существует в HTTP. Не более чем на вашем жестком диске компьютера содержатся фактические бумажные и картонные «файлы», которые можно увидеть в системе подачи заявок на офис.

Что бы вы ни думали, HTTP-сообщение или URL-адрес говорят, что контент-ответ не должен поступать из какого-либо компьютерного файла и не должен храниться в нем получателем.

Ответ на любое сообщение GET в HTTP всегда можно «загрузить», отправив другой запрос GET с тем же URL-адресом (и, возможно, с другими заголовками в случае вариантов HTTP/1.1). Это встроено в определение того, что такое сообщение GET, и не имеет ничего общего с файлами.

+0

Я искал способ определить, что находится на другом конце данного URL-адреса. Например, ссылки на общий доступ к файлам Google не могут быть загружены напрямую. Ответ - html. Но я понимаю вашу точку зрения. – Thihara

0

Возможно ли проверка на расширение файла? Извините, я не могу увеличить это, не зная больше, но я думаю, вы могли бы подумать об использовании PHP для реализации этого, если HTML не имеет достаточной функциональности?

+0

К сожалению, это не так просто :-). Иногда в заголовках нет имени файла или расширения. – Thihara

Смежные вопросы