get_last_redirect_header($num=-1); - получает последний полученный браузером заголовок url редиректа (header). При включенном слежении за RAW обменом браузера, все полученные браузером заголовки редиректа попадают в список запрошенных заголовков редиректа. Список имеет ограниченный размер. По умолчанию это 100 элементов. Этот размер изменить функцией set_arrays_count. Самый последний элемент хранится в конце спиcка. По мере заполнения списка, при превышении максимальной длинны, удаляется самый первый элемент списка.
Функция на вход принимает параметры:
- $num – номер заголовка редиректа полученного браузером url редиректа в списке полученных заголовков редиректа. (при $num-1 - берется последний элемент списка)
После отработки функция возвращает результат своей работы в робот :
- заголовок полученного браузером url редиректа – заданный запрошенный заголовок url редиректа (header) из списка сохраненных заголовков редиректа
- false – такого элемента в массиве нет
Примеры использования (cs)
#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.get_last_redirect_header</font><hr>");
// 1 шаг
echo("1. Включим слежение : ");
echo(raw.enable_all_streams(true)+"<br>");
// 2 шаг
echo("2. Очистим рав информацию : ");
echo(raw.clear_last_requests_array()+" ");
echo(raw.clear_last_responses_array()+"<br>");
// 3 шаг
echo("3. Перейдем в Google : ");
echo(browser.navigate("google.com")+"<br>");
// 4 шаг
echo("4. получим все заголовки редиректа сделанные при этом переходе : <br><br>");
for (int i=0;i<100;i++)
{
// заголовки закончились
if (raw.get_last_redirect_header(i)=="false")
break;
// выведем
echo(raw.get_last_redirect_header(i)+"<br>");
echo("---------------------------------------------<br>");
}
echo("5. Выключим слежение : ");
echo(raw.enable_all_streams(false));
// конец
echo("<hr><br>");
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="127.0.0.1:7010";
InitXHE();
// начало
echo("<hr><font color=blue>raw.get_last_redirect_header</font><hr>");
// 1 шаг
echo("1. Включим слежение : ");
echo(raw.enable_all_streams(true)+"<br>");
// 2 шаг
echo("2. Очистим рав информацию : ");
echo(raw.clear_last_requests_array()+" ");
echo(raw.clear_last_responses_array()+"<br>");
// 3 шаг
echo("3. Перейдем в Google : ");
echo(browser.navigate("google.com")+"<br>");
// 4 шаг
echo("4. получим все заголовки редиректа сделанные при этом переходе : <br><br>");
for (int i=0;i<100;i++)
{
// заголовки закончились
if (raw.get_last_redirect_header(i)=="false")
break;
// выведем
echo(raw.get_last_redirect_header(i)+"<br>");
echo("---------------------------------------------<br>");
}
echo("5. Выключим слежение : ");
echo(raw.enable_all_streams(false));
// конец
echo("<hr><br>");
app.quit();
}
}
Примеры использования (js)
// подключим функциональные объекты, если еще не подключен
xhe_host="127.0.0.1:7010";
echo=require("../../../Templates JS/init.js");
// начало
echo("<hr><font color=blue>raw.get_last_redirect_header</font><hr>");
// 1 шаг
echo("1. Включим слежение : ");
echo(raw.enable_all_streams(true)+"<br>");
// 2 шаг
echo("2. Очистим рав информацию : ");
echo(raw.clear_last_requests_array()+" ");
echo(raw.clear_last_responses_array()+"<br>");
// 3 шаг
echo("3. Перейдем в Яндекс : ");
echo(browser.navigate("ya.ru")+"<br>");
// 4 шаг
echo("4. получим все заголовки редиректа сделанные при этом переходе : <br><br>");
for (i=0;i<100;i++)
{
// заголовки закончились
if (raw.get_last_redirect_header(i)=="false")
break;
// выведем
echo(raw.get_last_redirect_header(i)+"<br>");
echo("---------------------------------------------<br>");
}
echo("5. Выключим слежение : ");
echo(raw.enable_all_streams(false);
// конец
echo("<hr><br>");
// Quit
app.quit();
Примеры использования (py)
# 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. Включим слежение : ")
echo(raw.enable_all_streams(true),"<br>")
# 2
echo("2. Очистим рав информацию : ")
echo(raw.clear_last_requests_array()," ")
echo(raw.clear_last_responses_array(),"<br>")
# 3
echo("3. Перейдем в Яндекс : ")
echo(browser.navigate("ya.ru"),"<br>")
# 4
echo("4. получим все заголовки редиректа сделанные при этом переходе : <br><br>")
for i in range(0,100):
# заголовки закончились
if raw.get_last_redirect_header(i)==False :
break
# выведем
echo(raw.get_last_redirect_header(i),"<br>")
echo("---------------------------------------------<br>")
echo("5. Выключим слежение : ")
echo(raw.enable_all_streams(false))
# конец
echo("<hr><br>")
# Quit
app.quit()