LINUX.ORG.RU

Наиболее быстрый способ получить содержимое загружаемой страницы?

 


0

1

Надо сделать редирект в зависимости от содержимого страницы.

  1. способ это дождаться загрузки и поискать в head при помощи JS. Это я знаю. Долго

  2. Сайт вообще на Joomla. Я пробовал использовать JDocument в index.php шаблона. Но именно во время загрузки getHeadData или _metaTags или getMetaData не содержат имеющегося после полной загрузки искомого элемента meta

  3. Возможно скорее чем при помощи js можно получить HTML или Head страницы при помощи php

Кто что скажет?

★★

Можно перенаправить вывод PHP в специальный буфер, поискать в нем, если есть секретное слово то сделать переадресацию, если нету, то отправить буфер клиенту.

https://www.php.net/manual/en/ref.outcontrol.php

ob_start();
... выполняемый код ...
$content = ob_get_clean();
if (str_contains($content, "secret")) {
  header("Location: google.com");
  die;
}
echo $content; die;
MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от static_lab

И скорее всего связана с предыдущей проблемой автора

Которая описана настолько же косноязычно и непонятно. Как там люди ещё умудрились понять и ответить - загадка.

Как говорится, в правильно сформулированном вопросе - уже половина ответа.

Chiffchaff
()

искомый элемент meta

Это уже тело ответа и к заголовкам http отношения не имеет. На низком уровне пакеты могут приходить в каком угодно порядке. В любом случае надо грузить все, а потом искать по содержимому. Парсить ли html в dom, это уже дело вкуса.

arrecck ★★★
()

Надо сделать редирект в зависимости от содержимого страницы.

Сайт вообще на Joomla

Значит на странице будет только тот, что предаарительно сохранят.

Чекай страницу при сохранении, если нашёл что нужно взводи флажок, при обращении проверяй флажок.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от arrecck

На низком уровне пакеты могут приходить в каком угодно порядке

Почему тебя это волнует в случае с http?

Грузить все не обязательно, вдруг сервер поддерживает ranged-запросы? Врядли это заметно поможет со временем отклика, но входящий трафик может снизить

cobold ★★★★★
()