get_last_response_url

get_last_response_url($num=-1); - gets the last url received by the browser. When when tracking the browser's RAW exchange is enabled, all URLs received by the browser are included in the list of received 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 – the url number in the list of received 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 received by the browser – the specified url received from the list of saved URLs
  • false – there is no such element in the array

    PHP example:

    <?php $xhe_host = "127.0.0.1:700";
     
    //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 response urls made during this transition: <br> <br>";
    for($i = 0; $i <100; $i ++)
    {
     //headers run out
      if(!$raw->get_last_response_url($i))
        break;
     
     //print
      echo $raw->get_last_response_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 response urls made during this transition: <br> <br>")
    for i in range(0,100):
      # headers are over
      if raw.get_last_response_url(i) == False:
        break
      # output
      echo(raw.get_last_response_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_response_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 the response urls made during this transition: <br> <br>");
    for(int i = 0; i <100; i ++)
    {
    //headers run out
    if(raw.get_last_response_url(i) == "false")
    break;
     
    //print
    echo(raw.get_last_response_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_response_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 response urls made during this transition: <br> <br>");
    for(i = 0; i <100; i ++)
    {
     //headers run out
      if(raw.get_last_response_url(i) == "false")
        break;
     
     //print
      echo(raw.get_last_response_url(i) + "<br>");
      echo("--------------------------------------------- <br > ");
    }
     
    echo("5.Turn off tracking:");
    echo(raw.enable_all_streams(false);
     
    //end
    echo("<hr> <br>");
     
    //Quit
    app.quit();