#php
#php
Вопрос:
Я пытаюсь захватить файл .pdf с сервера. На странице есть гиперссылка, при нажатии на которую ссылка переходит на страницу, проверяет наличие некоторых привилегий, затем перенаправляет на другую страницу, которая показывает содержимое .pdf в Iframe.
допустим, начальный URL-http://site.com/docs/1.pdf при нажатии он переходит на другую страницу, затем еще на одну и появляется на последней странице http://site.com/viewer/pdfs/1.pdf на последней странице показано содержимое pdf в Iframe.
Я понял, что программное обеспечение IDM (Internet download manager) может отслеживать перенаправления и загружать файл, нажав на первую ссылку.
Мне было интересно, существует ли алгоритм, или библиотека, или класс, или подсказка, что я могу выяснить, как это сделать в PHP scripting.
кстати, однажды я написал код для чтения заголовка страницы, и я мог бы перенаправить на вторую страницу, но я хочу знать, существует ли общий алгоритм для этого или нет.
Ответ №1:
Если вы выполняете HTTP-обработку вручную, проверьте наличие 30x
кодов состояния и Location
заголовка.
Однако вы могли бы просто использовать CURL и set CURLOPT_FOLLOWLOCATION
.
Комментарии:
1. 1, общего алгоритма не существует, потому что вам все равно придется проанализировать HTML-страницу, чтобы получить iframe
href
. Но CURL — хорошая отправная точка для следованияLocation
заголовкам.
Ответ №2:
Да, точно так же, как сказал ThiefMaster, вы могли бы поискать Location
заголовок. Взгляните сюда, возможно, это может вам помочь: http://codesnippets.joyent.com/posts/show/1214 Эта функция извлекает размер удаленного файла, почему бы вам не попробовать немного изменить его, чтобы он получал конечный URL?