humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
set_hook_on_begin_transaction
set_hook_on_begin_transaction($php_script_path); - задать хук (скрипт, обрабатывающий событие) что будет обрабатывать запросы браузераФункция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Demonstrates how to set a hook for processing requests through begin_transaction_hook1.php $xhe_host = "localhost:7010"; if (!isset($path)){ // Path to the init.php file for connecting to the XHE API $path = "../../../Templates/init.php"; // Including init.php grants access to all classes and functionality for working with the XHE API require($path); } // Start echo "\n<font color=blue>raw->".basename (__FILE__)."</font>\n"; // Step 1: Enable monitoring WEB::$raw->enable_all_streams(); // Step 2: Clear cache $blankUrl = "about:blank"; WEB::$browser->navigate($blankUrl); WEB::$browser->clear_cache(); // Step 3: Set hook for processing requests through begin_transaction_hook1.php echo "1. Set hook for processing requests through begin_transaction_hook1.php (don't load anything containing 'logo' + new header): "; $hookFile = "test/begin_transaction_hook1.php"; $setHookResult = WEB::$raw->set_hook_on_begin_transaction($hookFile); echo $setHookResult; // Step 4: Navigate to Google echo "\n2. Navigate to Google: "; $googleUrl = "https://www.google.com"; $navigateResult1 = WEB::$browser->navigate($googleUrl); echo $navigateResult1."\n"; sleep(7); // Step 5: Navigate to test page echo "3. Navigate to test page: "; $testUrl = "http://httpbin.org/get"; $navigateResult2 = WEB::$browser->navigate($testUrl); echo $navigateResult2."\n"; sleep(7); // Step 6: Cancel hook echo "4. Cancel hook: "; $cancelHookResult = WEB::$raw->set_hook_on_begin_transaction(""); echo $cancelHookResult; // Step 7: Navigate to Google again (without hook) echo "\n5. Navigate to Google again: "; $navigateResult3 = WEB::$browser->navigate("https://google.com"); echo $navigateResult3; // End echo "\n"; // Quit the application WINDOW::$app->quit(); ?>
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:705" from xweb_human_emulator import * # начало echo("<hr><font color=blue>raw.xxxxxxxxx</font><hr>") # очистим кэш browser.navigate("about:blank"); browser.clear_cache(); # 1 шаг echo("1. Зададим hook (зададим обработку запросов к серверу через begin_transaction_hook1.php (не загружать все что содержит logo + замена ru-Ru на de-DE):"); echo(raw.set_hook_on_begin_transaction("test/begin_transaction_hook1.php")); # 2 шаг echo("\n2. Перейдем :"); echo(browser.navigate("google.com")); sleep(2); # 3 шаг echo("\n3. Отменим hook :"); echo(raw.set_hook_on_begin_transaction("")); # 4 шаг echo("\n4. Перейдем :"); echo(browser.navigate("google.com")); # конец echo("<hr><br>") # Quit app.quit()
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server = "localhost:7010"; InitXHE(); // начало echo("<hr><font color=blue>raw.set_hook_on_begin_transaction</font><hr>"); // очистим кэш browser.navigate("about:blank"); browser.clear_cache(); // 1 шаг echo("1. Зададим hook (зададим обработку запросов к серверу через begin_transaction_hook1.php (не загружать все что содержит logo + замена ru-Ru на de-DE): "); echo(raw.set_hook_on_begin_transaction("test/begin_transaction_hook1.php")); // 2 шаг echo("\n2. Перейдем :"); echo(browser.navigate("google.com")); sleep(2); // 3 шаг echo("\n3. Отменим hook :"); echo(raw.set_hook_on_begin_transaction("")); // 4 шаг echo("\n4. Перейдем :"); echo(browser.navigate("google.com")); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:705"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>raw.set_hook_on_begin_transaction</font><hr>"); // очистим кэш browser.navigate("about:blank"); browser.clear_cache(); // 1 шаг echo("1. Зададим hook (зададим обработку запросов к серверу через begin_transaction_hook1.php (не загружать все что содержит logo + замена ru-Ru на de-DE):"); echo(raw.set_hook_on_begin_transaction("test/begin_transaction_hook1.php")); // 2 шаг echo("\n2. Перейдем :"); echo(browser.navigate("google.com")); app.sleep(2); // 3 шаг echo("\n3. Отменим hook :"); echo(raw.set_hook_on_begin_transaction("")); // 4 шаг echo("\n4. Перейдем :"); echo(browser.navigate("google.com")); // конец echo("\n"); // Quit app.quit();
=============================================
Raw Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.