2013-02-22 2 views
2

Я хочу функцию перенаправления URL-адреса в php, например http://www.wheregoes.com/.php scriptable web browser

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

  • Http 301 перенаправлять
  • Http 302 перенаправлять
  • мета-тег перенаправлять
  • Javascript перенаправлять

Если я использую локон, я могу легко обнаружить перенаправление 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, но они не поддерживают яваскрипт и мета-тегов редирект.

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

+0

Возможный дубликат [Не-браузерная эмуляция JavaScript - возможно ли это?] (Http://stackoverflow.com/questions/1768717/non- browser-emulation-of-javascript-is-it-possible) –

+0

['' теги по-прежнему просты] (http://php.net/manual/en/function.get-meta-tags.php), переадресация JavaScript довольно сложно. –

+0

Я думаю, что не-браузерная эмуляция слишком тяжела для моего запроса. Потому что я не хочу синтаксический анализ CSS, рисовать html и так далее. Мне нужно только перенаправление html. Есть ли какое-нибудь классное решение для этого? –

ответ

2

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

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

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

+0

Я также думаю, что он не может легко решить какой-либо библиотечный код. Но как может быть интерактивный экземпляр браузера с php? –

+0

Не уверен, что вы называете «библиотекой» ... Но это, безусловно, делает все, что сделает браузер, и это должно быть конечной целью. Или я пропустил ваш вопрос? – arkascha

+0

Я хочу создать сайт, например http://www.wheregoes.com/, с php, но он не поддерживает перенаправление метатега и перенаправление javascript. Как я могу обнаружить все перенаправление на стороне сервера? –