2011-01-14 2 views
1

Я создаю средство просмотра веб-страниц, которое отправляет запросы с сервера и выводит их в формат веб-страницы, что позволяет пользователю просматривать веб-страницы через этот «мини-браузер», однако я сталкиваясь с трудностями. Я внедряю содержимое через iFrame. Я попытался получить содержимое веб-страницы через CURL, но такие сайты, как Google, дали мне ошибки. И изображения выглядели сломанными, потому что считали, что изображения были на моем сервере, но фактически на Google. Поэтому он пытается загрузить ресурсы локально. Это написано на PHP. Как я могу это исправить? Благодарю.Создание веб-страницы «viewer»

+0

Вставьте базовый тег для загрузки относительных путей с других серверов и убедитесь, что вы отправляете HTTP-заголовки User-Agent и Referer, потому что для этого требуются некоторые сайты. – Delta

ответ

1

Не работает, потому что контент, вероятно, использует относительные пути, а не абсолютные.

Добавьте это в начало HTML.

<base href="http://www.abc.com/original/path"> 

Или вы можете проверить, используя wget из командной строки, с ключом -k. Что фактически добавит полный путь туда, где это необходимо. Я предполагаю, что это будет проблематично для плохо сформированного HTML.

+0

Как бы реализовать это в моем запросе cURL? – merc

+0

cURL не выполняет синтаксический анализ, вы не можете реализовать стиль wget. Для основной дорожки, когда вы печатаете HTML-код, который вы вытащили, вы просто добавляете эту строку вверху, с соответствующим URL-адресом вместо примера abc.com. – profitphp

+0

Хорошо, я положил базовый тег, и теперь все ресурсы загружаются правильно. Однако теперь у меня проблема с ссылками. Всякий раз, когда я нажимаю на ссылку, она регулярно просматривает ее, мне также нужно, чтобы она просматривала ее в режиме просмотра веб-страницы. Поэтому он использует IP-адрес моего сервера, когда люди посещают его. – merc