php скриптовый веб-браузер

Мне нужна функция трассировки перенаправления URL в php, например http://www.wheregoes.com/.

Я хочу обнаружить четыре вида перенаправлений:

  • Http 301 редирект
  • Http 302 редирект
  • перенаправление метатега
  • перенаправление javascript

Если я использую curl, я могу легко обнаружить перенаправление 301, 302, но трудно обнаружить два других перенаправления.

Так что я хочу веб-браузер с поддержкой скриптов, я буду использовать библиотеку, как показано ниже:

$browser = Browser::createBrowser('chrome');
$delay = 10; // (This is a important parameter for detecting javascript or meta tag redirection).

$browser->load($url, $delay, function onLoadComplete($arr_track_url){
    print_r($arr_track_url);
});

Я искал и столкнулся с некоторыми библиотеками, такими как http://www.simpletest.org/en/browser_documentation.html, но они не поддерживают перенаправление javascript и мета-тегов.

Есть ли какой-нибудь php-скрипт с браузером? Или я могу легко обнаружить перенаправление JavaScript или метатега?

1 ответ

Решение

Если я правильно понял, вы хотите выяснить, к чему в конце концов приводит какая-то ссылка, отличается ли этот окончательный URL-адрес от того, который URL-адрес был фактически нажат?

Если так, то я думаю, что лучший подход - это позволить браузеру выполнить свою работу и потом посмотреть, где он появился. Таким образом, вы получаете именно "нормальное" поведение браузера, а не какой-то библиотеки.

Используйте (скрытый) iframe, куда вы загружаете URL. Затем дождитесь события window.load или чего-то еще и запросите местоположение документов после этого. Я не пробовал это сейчас, но звучит выполнимо для меня...

Другие вопросы по тегам