Эмуляция браузера с поддержкой яваскрипт на PHP

Тема в разделе "PHP Pro", создана пользователем dirak, 10 мар 2011.

Статус темы:
Закрыта.
  1. dirak

    dirak Постоялец

    Регистр.:
    7 фев 2007
    Сообщения:
    107
    Симпатии:
    6
    Существует ли готовый php скрипт эмуляции веб браузера с поддержкой javascript? Как я понимаю, эмулировать браузер вполне реально, но вот можно ли сделать так чтобы он поддерживал ещё и яваскрипт, использующий на странице определенного сайта?
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    Human Emulator справиться с этой задачей
    это эдакой IE6 обернутый в php

    а вообще мажорно считается разобрать работу JavaScripta и повторить ее на нужном ЯП ... или интерпретатор этого языка написать, ... даже примитивный =)
     
  3. dirak

    dirak Постоялец

    Регистр.:
    7 фев 2007
    Сообщения:
    107
    Симпатии:
    6
    Нее Human Emulator не пойдет, нужно это сделать средствами PHP и запустить под денвером как минимум.
     
  4. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    насколько инвестно открытых инерпритаров JS нет.
    некоторые как то юзали апи Гугла, но как хз.
     
  5. dirak

    dirak Постоялец

    Регистр.:
    7 фев 2007
    Сообщения:
    107
    Симпатии:
    6
    А можно ли эмулировать состояние яваскрипта в браузере? Т.е. чтобы php браузер передавал состояние влюченного яваскрипта но не обязательно умел выполнять его.
     
  6. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Для проверки JS ваабще-то используются функции и сама интерпретация. Смотри как проверяется "включенность" JS и поймешь что нужно сделать.
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    http://j4p5.sourceforge.net
    интерпритатор js на php5. Эмуляцию броузера можешь сделать курлом.
     
  8. dirak

    dirak Постоялец

    Регистр.:
    7 фев 2007
    Сообщения:
    107
    Симпатии:
    6
    Не понимаю алгоритм...как его впихнуть в пхп?

    Если примерно в легкой форме эмуляция браузера будет выглядеть так:
    $url = "http://www.site.com";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);

    $cookie_file = " ..тут вставляем путь к файлу ..";
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

    curl_setopt($ch, CURLOPT_REFERER, "http://site.com");
    curl_setopt($ch, CURLOPT_PROXY, "111.222.333.444:5555"); //Прокси - если необходимо

    $str = curl_exec($ch);
    curl_close($ch);

    то как привязать интерпритатор js ?
     
  9. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    в PHP под виндой есть возможность использовать COM
    в свою очередь IE дает такой интерфейс(это даже в официальном мануале PHP описано в примерах)
    вы можете насладится всеми прелестями IE, используя PHP, и не ставя XHE
    PS иногда апач валится вместе со скриптом, в самых неожиданных местах. Поэтому лучше юзать из консоли
    PPS все участки с использованием COM лучше обернуть в try...catch . Потому что любое необработанное COM-исключение валит PHP с Fatal Error
     
  10. dirak

    dirak Постоялец

    Регистр.:
    7 фев 2007
    Сообщения:
    107
    Симпатии:
    6
    А как организовать на удаленном сервере под оболочкой линукс?
     
Статус темы:
Закрыта.