2

Есть веб-сервер, к которому я регулярно обращаюсь, отправляя HTTP-запрос GET следующим образом: http://www.example.com/index.php?file=12&hd=0

Он возвращает ответ OK с типом контента video/x-flv и различной длиной контента. Очевидно, что это скачивает файл .flv , и, поскольку я скачиваю его, он должен быть где-то размещен в Интернете.

Тем не менее, я не могу понять, как получить прямой URL-адрес этого файла. Я пытался использовать Wireshark и Fiddler4, но они не помогают. Я пытаюсь получить URL-адрес, чтобы использовать его в Sync Video, который может принимать прямые URL-адреса для видеофайлов. Попытка ссылки, как в примере выше, не работает.

2 ответа2

2

Я не думаю, что есть какой-либо другой способ доступа к файлу. Сценарий PHP, вероятно, просто читает приватный локальный файл и перенаправляет данные в выходной поток.

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

Если скрипт ничего не проверяет (или проверяет только ваш IP-адрес), а программа просто отклоняет URL-адрес, потому что он не имеет расширения, вы можете попробовать его подделать:

http://www.example.com/index.php?file=12&hd=0&ext=.flv

Добавив фиктивный аргумент к URL-адресу, который заканчивается на .flv программа может принять URL-адрес.

0

Не обязательно есть метод прямого доступа к файлу.

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

Если вы не видите перенаправление 301 или 302 в перехвате Wireshark, то нет никакого способа связать веб-сервер, чтобы выяснить, откуда он получает файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .