Web / raw
set_arrays_count
set_arrays_count($num); - задает размер списков запрошенных браузеров урлов и заголовков и списков полученых браузером урлов, урлов редиректа, заголовков редиректа, буфферов ответа и прочитанной информации. При включенном слежении за RAW обменом браузера, все полученное и запрошенное браузером попадает в списки полученной и запрошенной информации.Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:7028"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>raw->".basename (__FILE__)."</font><hr>"; // 1 echo "1. Включим слежение RAW : "; echo $raw->enable_all_streams(true)."<br>"; // 2 echo "2. Зададим размер массивов хранимых запросов равный 200 : "; echo $raw->set_arrays_count(200)."<br>"; // 3 echo "3. Перейдем в яндекс и гугл и msn 1 раз : "; for ($i=0;$i<1;$i++) { echo $browser->navigate("http://www.ya.ru"); echo $browser->navigate("http://www.google.ru"); echo $browser->navigate("http://www.msn.ru"); } // 4 echo "<br>4. Получим запрашиваемые урлы : "; $arr_heders=array(); $arr_redir=array(); for($i=0;$i<200;$i++) { if($raw->get_last_response_buffer($i)=="false" || !$raw->get_last_response_buffer($i)) break; $arr_heders[$i]['url']=$raw->get_last_response_url($i); $arr_heders[$i]['hed']=$raw->get_last_response_buffer($i); $arr_heders[$i]['urlred']=$raw->get_last_redirect_url($i); $arr_heders[$i]['hedred']=$raw->get_last_redirect_header($i); } echo '<br /><pre>'; print_r($arr_heders); echo '</pre><br />'; // выключим слежение $raw->enable_all_streams(false); // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования (Python):
===============================================================
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7012" from xweb_human_emulator import * # начало echo("<hr><font color=blue>raw.xxxxxxxxx</font><hr>") # 1 echo("1. Включим слежение RAW : ") echo(raw.enable_all_streams(true),"<br>") # 2 echo("2. Зададим размер массивов хранимых запросов равный 200 : ") echo(raw.set_arrays_count(200),"<br>") # 3 echo("3. Перейдем в яндекс и гугл и msn 10 раз : ") for i in range(0,10): echo(browser.navigate("http://www.ya.ru")) echo(browser.navigate("http://www.google.ru")) echo(browser.navigate("http://www.msn.ru")) # 4 echo("<br>4. Получим запрашиваемые урлы : ") arr_heders=array() arr_redir=array() for i in range(0,200): if raw.get_last_response_buffer(i)=="false" or not raw.get_last_response_buffer(i): break arr_heders[i]['url']=raw.get_last_response_url(i) arr_heders[i]['hed']=raw.get_last_response_buffer(i) arr_heders[i]['urlred']=raw.get_last_redirect_url(i) arr_heders[i]['hedred']=raw.get_last_redirect_header(i) echo('<br /><pre>') print(arr_heders) echo('</pre><br />') # выключим слежение raw.enable_all_streams(false) # конец echo("<hr><br>") # Quit app.quit()
Пример использования (C#):
===============================================================
#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="127.0.0.1:7010"; InitXHE(); // начало echo("<hr><font color=blue>raw.set_arrays_count</font><hr>"); // 1 шаг echo("1. Включим слежение RAW : "); echo(raw.enable_all_streams(true)+"<br>"); // 2 шаг echo("2. Зададим размер массивов хранимых запросов равный 100 : "); echo(raw.set_arrays_count(100)+"<br>"); // 3 шаг echo("3. Перейдем в яндекс и гугл и msn 3 раза : \n\n"); for (int i=0;i<3;i++) { echo(browser.navigate("http://www.ya.ru")+" "); echo(browser.navigate("http://www.google.ru")+" "); echo(browser.navigate("http://www.msn.ru")+"\n"); } // 4 шаг echo("<br>4. Получим запрашиваемые урлы : "); echo("<br /><pre>"); for(int i=0;i<100;i++) { if(raw.get_last_response_buffer(i)=="false" || raw.get_last_response_buffer(i)=="false") break; echo("["+i.ToString()+"]['url']="+raw.get_last_response_url(i)+"\n"); echo("["+i.ToString()+"]['header']="+raw.get_last_response_buffer(i)+"\n"); echo("["+i.ToString()+"]['url redirected']="+raw.get_last_redirect_url(i)+"\n"); echo("["+i.ToString()+"]['header redirected']="+raw.get_last_redirect_header(i)+"\n\n"); } echo("</pre><br />"); // выключим слежение raw.enable_all_streams(false); // конец echo("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
// подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/xweb_human_emulator.js"); // начало echo("<hr><font color=blue>raw.set_arrays_count</font><hr>"); // 1 шаг echo("1. Включим слежение RAW : "); echo(raw.enable_all_streams(true)+"<br>"); // 2 шаг echo("2. Зададим размер массивов хранимых запросов равный 200 : "); echo(raw.set_arrays_count(200)+"<br>"); // 3 шаг echo("3. Перейдем в яндекс и гугл и msn 10 раз : "); for (i=0;i<10;i++) { echo(browser.navigate("http://www.ya.ru"); echo(browser.navigate("http://www.google.ru"); echo(browser.navigate("http://www.msn.ru"); } // 4 шаг echo("<br>4. Получим запрашиваемые урлы : "); arr_heders=array(); arr_redir=array(); for(i=0;i<200;i++) { if(raw.get_last_response_buffer(i)=="false" || !raw.get_last_response_buffer(i)) break; arr_heders[i]['url']=raw.get_last_response_url(i); arr_heders[i]['hed']=raw.get_last_response_buffer(i); arr_heders[i]['urlred']=raw.get_last_redirect_url(i); arr_heders[i]['hedred']=raw.get_last_redirect_header(i); } echo('<br /><pre>'; print_r(arr_heders); echo('</pre><br />'; // выключим слежение raw.enable_all_streams(false); // конец echo("<hr><br>"); // Quit app.quit();
=============================================
Raw Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.