PHP скрипт с выполнением Java в теле php

Тема в разделе "Как сделать...", создана пользователем Neow15ard, 14 сен 2009.

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

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Хочу сделать скрипт который будет заходить на указанные мной сайты , причем он не просто должен скачать страницу, и и выполнить существующий на ней ява код) (вообщем накрутка счетчиков)
    Сейчас есть библиотека для явы
    http://www.opennet.ru/opennews/art.shtml?num=22101
    и скрипт который открывает страницу через сокет.
    Подскажите как это чудо объеденить или реализовать иначе ..
    Я так понял скрипт должен скачать страницу (сокет) чтотто выполнить (ява) и вернуть страницу ???(или сходить по ява ссылкам счетчиков (тогда ява ненужна??)
    да и как прикрутить имитацию отправки данных с http://browsershots.org/ дает сразу от 30 до 70 заходов.
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    мб нужно задействовать human emulator?
     
  3. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    не смотрел библиотеку. Но увидел Using JavaScript in PHP Там точно есть реализация и Java))
    Я Не думаю, что сейчас возможно это реализовать только через пхп. Стоит обратить внимание на /showthread.php?t=137682
     
  4. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Нужно задействовать сервер.А сервер у меня на Freebsd.

    А Xedant на рабочем буке по крону через каждые 3-5 минут пробовали запускать ? Или под эмуль машину ставить ? А хедант у мя для других вещей и он не панацея.Просто надо моск включить ))). А у меня его пока на это не хватает.
     
  5. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Короче поставил я себе в итоге эту штуку, не сразу, но поставил. Пришлось даже php перекомпиливать. И вот что я вам скажу: это не то. Она годится только на то, чтобы в php-скриптах использовать Javascript синтаксис (а точнее даже ECMA). Да, все примеры из хелпа отлично работают. Да, можно самому написать какую-нибудь там функцию, к примеру, вычисления синуса рядами фурье, и она тоже будет работать. А вот Math.sin() оно не понимает. alert(), document.write(), getElementById() и так далее - всего этого нет. Так что о том чтобы исполнять им реальные яваскрипты из html не может быть и речи. К сожалению.
     
    Neow15ard нравится это.
  6. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    т.е. на текущий момент единственная реализация рабочая через браузер? Пока рыл тему в нете было пара высказываний что один чел сделал, а другой сказал что реализуемо просто ...
    Но что то не просто как то...а нельзя ява скрипты передавать ява машине как то , выдирать из ответа сервера и передавать?
     
  7. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Выдирая яваскрипты из ответа сервера - ты выдираешь их из контекста. Если они на окружающий этот контекст не опираются - будут работать и автономно, в твоем php-коде. Но просто обычно яваскрипт на странице используется для манипуляций элементами этой страницы, а вот этих-то элементов в виртуальной машине как раз и не будет. Ни DOM'a, ни экрана, ни событий, ни кук - ничего.

    В твоем случае надо действительно копать в сторону управления бровзером из php-скрипта. Наверняка такое не только с IE через ActiveX можно делать. Почитай, что умеет WebKit. В нем наверняка найдется нужный тебе функционал. Что-то типа такого: http://www.deepapple.com/articles/25270.html
     
  8. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Без браузера Оч просто не получится. Браузер что делает?- согластно разметке формирует то, что мы видим. Те нам нужен аналогичный парсер.
    ч0? o_O
    ---------
    в теме пара скриптов по снятию скриншотов. http://www.nulled.ws/showpost.php?p=572745 Возможно, как раз что нужно, там.
     
  9. vasya999

    vasya999

    Регистр.:
    14 дек 2006
    Сообщения:
    310
    Симпатии:
    45
    Майнен скрипт для работы с browsershots
    ставим на крон и радуемся.
    Больше 180 скринов на один урл не даст сделать.
    Небольшой совет по отлову данных, передаваемых через жопу (аджакс, ява и т.п.)
    Юзаем плагин на лису - TamperData и мониторим все запросы.
     
    Neow15ard нравится это.
  10. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Я бы сказал так лучше.
    В файле links.txt Линки для захода (выбираются рандомно)
    в файле proxys.txt - прокси
    В файле agents.txt - Юзер агенты
    В скрите заменить логин и пасс(U_LOGIN&U_PASS), регистрация /accounts/login
    Файл c1.txt куки от логина
    запуск php script.php >>cron.log


    PHP:
    <?php


    function error$error false )
    {

    }
    $ii=0;
    $handle = @fopen("links.txt""r");
    if (
    $handle) {
    while (!
    feof($handle)) {
        
    $buffer[$ii] = fgets($handle);
        
    $ii++;
    }
    fclose($handle);
    }
    $lastt=count($buffer);
    $link $buffer[mt_rand(0,$lastt)];
    $agents file"agents.txt" );
    $proxys file"proxys.txt" );
    $cagents count$agents );
    $cproxys count$proxys );
    $na mt_rand0$cagents );
    $np mt_rand0$cproxys );
    $user_agent=$agents[$na];
    $proxy=$proxy[$np];

    function 
    FetchUrl($url$postvars$timeout){
    sleep($timeout);
    echo 
    date("r")." fetching $url\r\n";
    echo 
    date("r").$postvars\r\n";
    $ch curl_init();
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_PROXY$proxy);
    curl_setopt($chCURLOPT_POSTFIELDS$postvars);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONTRUE);
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_TIMEOUT,15);
    curl_setopt($chCURLOPT_ENCODING'gzip');
    curl_setopt($chCURLOPT_COOKIEJAR"c1.txt");
    curl_setopt($chCURLOPT_COOKIEFILE"c1.txt");
    curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_AUTOREFERERTRUE);
    curl_setopt ($chCURLOPT_USERAGENT$user_agent);
    //curl_setopt($ch, CURLOPT_REFERER, $ref);
    $result curl_exec($ch);
    curl_close($ch);
    return 
    $result;
    }
    $url "http://browsershots.org/accounts/login/";
    $postdata "username=U_LOGIN&password=U_PASS";
    $page FetchUrl($url$postdata3);

    $url "http://browsershots.org/";
    $postdata "url=".$link."&submit.x=2&submit.y=11&linux_dillo_0_8=on& linux_dillo_2_0=on&linux_dillo_2_1=on&linux_epipha ny_2_22=on&linux_firefox_1_0=on&linux_firefox_1_5= on&linux_firefox_2_0=on&linux_firefox_3_0=on&linux _firefox_3_1=on&linux_firefox_3_5=on&linux_flock_1 _2=on&linux_flock_2_0=on&linux_galeon_2_0=on&linux _iceape_1_0=on&linux_iceape_1_1=on&linux_iceweasel _2_0=on&linux_iceweasel_3_0=on&linux_kazehakase_0_ 5=on&linux_konqueror_3_5=on&linux_konqueror_4_2=on &linux_minefield_3_2=on&linux_minefield_3_6=on&lin ux_navigator_9_0=on&linux_opera_10_0=on&linux_oper a_9_63=on&linux_opera_9_64=on&linux_seamonkey_1_1= on&linux_seamonkey_2_0=on&linux_shiretoko_3_1=on&l inux_shiretoko_3_5=on&windows_avant_11_7=on&window s_chrome_0_2=on&windows_chrome_0_3=on&windows_chro me_0_4=on&windows_chrome_1_0=on&windows_chrome_2_0 =on&windows_chrome_3_0=on&windows_firefox_0_8=on&w indows_firefox_0_9=on&windows_firefox_1_0=on&windo ws_firefox_1_5=on&windows_firefox_2_0=on&windows_f irefox_3_0=on&windows_firefox_3_1=on&windows_firef ox_3_5=on&windows_flock_1_0=on&windows_flock_1_1=o n&windows_flock_1_2=on&windows_flock_2_0=on&window s_flock_2_5=on&windows_flock_3_0=on&windows_k-meleon_1_1=on&windows_k-meleon_1_5=on&windows_minefield_3_2=on&windows_min efield_3_6=on&windows_msie_4_0=on&windows_msie_5_0 =on&windows_msie_5_5=on&windows_msie_6_0=on&window s_msie_7_0=on&windows_msie_8_0=on&windows_navigato r_8_1=on&windows_navigator_9_0=on&windows_opera_0_ 27=on&windows_opera_10_0=on&windows_opera_7_0=on&w indows_opera_7_11=on&windows_opera_7_54=on&windows _opera_8_0=on&windows_opera_8_53=on&windows_opera_ 8_54=on&windows_opera_9_25=on&windows_opera_9_26=o n&windows_opera_9_27=on&windows_opera_9_50=on&wind ows_opera_9_51=on&windows_opera_9_52=on&windows_op era_9_60=on&windows_opera_9_61=on&windows_opera_9_ 62=on&windows_opera_9_63=on&windows_opera_9_64=on& windows_opera_9_80=on&windows_safari_3_0=on&window s_safari_3_2=on&windows_safari_4_0=on&windows_seam onkey_1_1=on&windows_seamonkey_2_0=on&windows_shir etoko_3_1=on&windows_shiretoko_3_5=on&bsd_dillo_2_ 0=on&bsd_firefox_2_0=on&bsd_galeon_2_0=on&bsd_kaze hakase_0_5=on&bsd_seamonkey_1_1=on&width=dontcare& bits_per_pixel=dontcare&javascript=dontcare&java=d ontcare&flash=dontcare";
    $page FetchUrl($url$postdata3);
    echo 
    $page;
    ?>
     
Статус темы:
Закрыта.