Как получить URL-адрес файла в HTTP-запросе GET?

Как получить URL-адрес файла в HTTP-запросе GET?

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

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

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

решение1

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

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

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

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

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

решение2

Метод прямого доступа к файлу не всегда существует.

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

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

Связанный контент