get_last_request_url

get_last_request_url($num=-1); - gets the last url requested by the browser. When when tracking the browser's RAW exchange is enabled, all URLs requested by the browser are included in the list of requested URLs. The list has a limited size. By default, this is 100 items. Change this size with the set_arrays_count. The most recent item is stored at the end of the list. As the list fills up, if the maximum length is exceeded, the very first item in the list is deleted.

the input Function accepts parameters:

  • $num – url number in the list of requested URLs. (for $num-1, the last element of the list is taken)

    After testing, the function returns the result of its work to the script :
  • url requested by the browser – the specified requested url from the list of saved URLs
  • false – there is no such element in the array

    PHP example:

    <?php $xhe_host = "127.0.0.1:7028";
     
    //connect the object to control the emulator, if not already connected
    if(!isset($path))
      $path = "../../../Templates/xweb_human_emulator.php";
    require($path);
     
    //Start
    echo "<hr> <font color = blue> raw->".basename(__FILE__)."</font> <hr>";
     
    //1
    echo "1.Turn on tracking:";
    echo $raw->enable_all_streams(true)."<br>";
     
    //2
    echo "2.Clear the rav information:";
    echo $raw->clear_last_requests_array()."";
    echo $raw->clear_last_responses_array()."<br>";
     
    //3
    echo "3.Let's go to Yandex:";
    echo $browser->navigate("ya.ru")."<br>";
     
    //4
    echo "4.get all request urls made during this transition: <br> <br>";
    for($i = 0; $i <100; $i ++)
    {
     //headers run out
      if(!$raw->get_last_request_url($i))
        break;
     
     //print
      echo $raw->get_last_request_url($i)."<br>";
      echo "--------------------------------------------- <br> ";
    }
     
    echo "5.Turn off tracking:";
    echo $raw->enable_all_streams(false);
     
    //end
    echo "<hr> <br>";
     
    //Quit
    $app->quit();
    ?>

    Python example:

    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7012"
    from xweb_human_emulator import *
     
    # Start
    echo("<hr> <font color = blue> raw.xxxxxxxxx </font> <hr>")
     
    # 1
    echo("1.Turn on tracking:")
    echo(raw.enable_all_streams(true), "<br>")
     
    # 2
    echo("2.Let's clear the rav information:")
    echo(raw.clear_last_requests_array(), "")
    echo(raw.clear_last_responses_array(), "<br>")
     
    # 3
    echo("3.Let's go to Yandex:")
    echo(browser.navigate("ya.ru"), "<br>")
     
    # 4
    echo("4.get all request urls made during this transition: <br> <br>")
    for i in range(0,100):
      # headers are over
      if raw.get_last_request_url(i) == False:
        break
      # output
      echo(raw.get_last_request_url(i), "<br>")
      echo("--------------------------------------------- <br > ")
     
    echo("5.Turn off tracking:")
    echo(raw.enable_all_streams(false))
     
    # end
    echo("<hr> <br>")
     
    # Quit
    app.quit()

    C# example:

    #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();
     
    //Start
    echo("<hr> <font color = blue> raw.get_last_request_url </font> <hr>");
     
    //1 step
    echo("1.Turn on tracking:");
    echo(raw.enable_all_streams(true) + "<br>");
     
    //step 2
    echo("2.Let's clear the information:");
    echo(raw.clear_last_requests_array() + "");
    echo(raw.clear_last_responses_array() + "<br>");
     
    //step 3
    echo("3.Let's go to Yandex:");
    echo(browser.navigate("ya.ru") + "<br>");
     
    //step 4
    echo("4.get all request urls made during this transition: <br> <br>");
    for(int i = 0; i <100; i ++)
    {
    //headers run out
    if(raw.get_last_request_url(i) == "false")
    break;
     
    //print
    echo(raw.get_last_request_url(i) + "<br>");
    echo("--------------------------------------------- <br > ");
    }
     
    echo("5.Turn off tracking:");
    echo(raw.enable_all_streams(false));
     
    //end
    echo("<hr> <br>");
     
    app.quit();
    }
    }

    Java Script example:

    //connect the object to control the emulator, if not already connected
    xhe_host = "127.0.0.1:7010";
    echo = require("../../../Templates JS/xweb_human_emulator.js");
     
    //Start
    echo("<hr> <font color = blue> raw.get_last_request_url </font> <hr>");
     
    //1 step
    echo("1.Turn on tracking:");
    echo(raw.enable_all_streams(true) + "<br>");
     
    //step 2
    echo("2.Let's clear the information:");
    echo(raw.clear_last_requests_array() + "");
    echo(raw.clear_last_responses_array() + "<br>");
     
    //step 3
    echo("3.Let's go to Yandex:");
    echo(browser.navigate("ya.ru") + "<br>");
     
    //step 4
    echo("4.get all request urls made during this transition: <br> <br>");
    for(i = 0; i <100; i ++)
    {
     //headers run out
      if(raw.get_last_request_url(i) == "false")
        break;
     
     //print
      echo(raw.get_last_request_url(i) + "<br>");
      echo("--------------------------------------------- <br > ");
    }
     
    echo("5.Turn off tracking:");
    echo(raw.enable_all_streams(false);
     
    //end
    echo("<hr> <br>");
     
    //Quit
    app.quit();