Захват страницы, которая перенаправляет

#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?