При очистке страницы, я хотел бы, чтобы изображения, включенные в текст.
В настоящее время я могу только очистить текст.Например, в качестве тестового сценария я удалил домашнюю страницу Google, и на ней отображался только текст, а не изображения (логотип Google).
Я также создал другой тестовый скрипт, используя Redbox, но безуспешно, тот же результат.Вот моя попытка очистить страницу Redbox 'Find a Movie':
<?php
$url = 'http://www.redbox.com/Titles/AvailableTitles.aspx';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
echo $result;
?>
страница была сломана, отсутствует изображение коробки, отсутствуют сценарии и т. Д.
Просмотр расширения Firebug FF 'Net'инструмент (позволяет мне проверять заголовки и пути к файлам), я обнаружил, что изображения и CSS-файлы Redbox не были загружены / отсутствуют (404 не найден).Я заметил, почему, это потому, что мой браузер искал изображения Redbox и файлы CSS в неправильном месте.
Очевидно, что изображения Redbox и CSS-файлы расположены относительно домена, также как и логотип Google.Так что, если мой скрипт выше использует свой домен в качестве основы для пути к файлам, как я могу это изменить?
Я попытался изменить заголовки запросов хоста и реферера с помощью приведенного ниже скрипта, и я много гуглил,но не повезло.
Моя попытка исправить:
<?php
$url = 'http://www.redbox.com/Titles/AvailableTitles.aspx';
$referer = 'http://www.redbox.com/Titles/AvailableTitles.aspx';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: www.redbox.com") );
curl_setopt ($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
echo $result;
?>
Надеюсь, я понял, если нет, дайте мне знать, и я постараюсь объяснить это лучше.Любая помощь будет отличной!Спасибо.
ОБНОВЛЕНИЕ
Спасибо всем (особенно Марку и Уайетту), ваши ответы помогли мне выяснить способ реализации.
Мне удалось успешно выполнить тестирование, выполнив следующие шаги:
- Загрузите страницу иего реквизиты через Wget.
- Добавить
<base href="..." />
в заголовок загруженной страницы. - Загрузить исправленную загруженную страницу и ее исходные реквизиты через Wput на временный сервер.
- Проверка загруженной страницы на временном сервере через браузер
- Если загруженная страница не отображается должным образом, некоторые реквизиты могут все еще отсутствовать (css, jss, ect).Просмотр недостающих с помощью инструмента, который позволяет просматривать ответы заголовков (например, инструмент «net» из дополнения Firebug FF).После обнаружения недостающих реквизитов, посетите исходную страницу, на которой основана загруженная страница, запишите правильные реквизиты, которые отсутствовали, затем пересмотрите загруженную страницу с шага 1, чтобы приспособить новые подходящие местоположения, и начните с шага 3 снова.Иначе, если страница отображается правильно, значит, успех!
Примечание. При редактировании загруженной страницы я вручную редактировал код, я уверен, что вы можете использовать regEX или библиотеку синтаксического анализа по запросу cUrl для автоматизациипроцесс.