humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

update

update(); - принудительно обновить список прокси. При обновлении просиходит добавление прокси из урла и файла обновления. Далее происходит удаление дубликатов. И сброс позиции текущего прокси на начало файла.

После отработки функция возвращает результат своей работы в скрипт :
  • true – успешно обновили
  • false – обновили не удалось

    Пример использования
    <?php
    // Scenario: Demonstrate updating the proxy switcher and managing proxies
    
    $xhe_host = getenv("RPABOT_HOST_URL");
    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);
    }
    
    // Beginning
    echo "\n<font color=blue>webpage->".basename (__FILE__)."</font>\n";
    
    // Step 1: Create a file with proxies
    echo "1. Create a file with proxies: ";
    $proxyFilePath="test/add_proxies.urls";
    echo SYSTEM::$file_os->delete($proxyFilePath) . "\n";
    echo SYSTEM::$textfile->add_string_to_file($proxyFilePath,"222.124.22.133:8080\n") . " ";
    echo SYSTEM::$textfile->add_string_to_file($proxyFilePath,"47.90.72.227:8088\n") . " ";
    
    // Step 2: Initialize the proxy switcher in the folder
    echo "\n2. Initialize the proxy switcher in the folder: ";
    echo WEB::$proxyswitcher->init("Proxy Switcher") . "\n";
    
    // Step 3: Clear all existing proxies to start from the beginning
    echo "3. Clear all existing proxies to start from the beginning: ";
    echo WEB::$proxyswitcher->clear() . "\n";
    
    // Step 4: Add proxies from file
    echo "4. Add proxies from file: ";
    echo WEB::$proxyswitcher->add_proxies_from_file($proxyFilePath) . "\n";
    
    // Step 4.5: Add a proxy
    echo "4.5 Add a proxy: ";
    $proxyToAdd = "125.212.207.121:3128\n";
    echo WEB::$proxyswitcher->add_proxies($proxyToAdd) . "\n";
    
    // Step 5: Add proxies from URL
    echo "5. Add proxies from URL: ";
    $proxyUrl = TEST_POLYGON_URL . "add_proxies.html";
    echo WEB::$proxyswitcher->add_proxies_from_url($proxyUrl) . "\n";
    
    // Step 6: Set update parameters
    echo "6. Set update parameters: ";
    $updatePath = $proxyFilePath;
    $updateUrl = TEST_POLYGON_URL . "add_proxies.html";
    $updatePeriod = 100;
    $updateProxyCount = 0;
    echo WEB::$proxyswitcher->set_update_path($updatePath) . " ";
    echo WEB::$proxyswitcher->set_update_url($updateUrl) . " ";
    echo WEB::$proxyswitcher->set_update_period($updatePeriod) . " ";
    echo WEB::$proxyswitcher->set_update_proxy_count($updateProxyCount) . "\n";
    
    // Step 6.5: Set sequential rotation mode
    echo "6.5. Set sequential rotation mode: ";
    $randomMode = false;
    echo WEB::$proxyswitcher->set_random_rotate_mode($randomMode)."\n";
    
    // Step 7: Iterate through proxies
    WEB::$browser->set_wait_params(120,1);
    echo "7. Iterate through proxies: \n\n";
    while (true)
    {
        $proxy = WEB::$proxyswitcher->get_next_proxy();
        if ($proxy=="")
            break;
        echo $proxy;
    //    WEB::$browser->enable_proxy("",$proxy);
    //    if (WEB::$browser->navigate("whoer.net"))
    //        echo "working";
    //    else
    //        echo "not working";
    //
        echo "\n";
    }
    
    // Step 8: Get all contents of the proxy switcher
    echo "\n8. Get all contents of the proxy switcher: \n\n";
    echo WEB::$proxyswitcher->get_all_proxies()."\n";
    
    // Step 9: Get the number of proxies
    echo "\n9. Get the number of proxies: ";
    echo WEB::$proxyswitcher->get_proxy_count()."\n";
    
    // Step 10: Iterate through proxies (with removal)
    WEB::$browser->set_wait_params(120,1);
    echo "10. Iterate through proxies (with removal): \n\n";
    while (true)
    {
        $proxy = WEB::$proxyswitcher->get_next_proxy(true);
        if ($proxy=="")
            break;
        echo $proxy." remaining: ".WEB::$proxyswitcher->get_proxy_count() . "\n";
        if (WEB::$proxyswitcher->get_proxy_count()==0)
            break;
    //    WEB::$browser->enable_proxy("",$proxy);
    //    if (WEB::$browser->navigate("whoer.net"))
    //        echo "working\n";
    //    else
    //        echo "not working\n";
    //
        echo "\n";
    }
    
    // Step 11: Set random rotation mode
    echo "\n\n11. Set random rotation mode: ";
    $randomMode = true;
    echo WEB::$proxyswitcher->set_random_rotate_mode($randomMode)."\n";
    
    // Step 12: Update
    echo "12. Update: ";
    $forceUpdate = true;
    echo WEB::$proxyswitcher->update($forceUpdate)."\n";
    
    // Step 13: Iterate through proxies (randomly with removal)
    WEB::$browser->set_wait_params(120,1);
    echo "13. Iterate through proxies (randomly with removal): \n\n";
    while (true)
    {
        $proxy = WEB::$proxyswitcher->get_next_proxy(true);
        if ($proxy=="")
            break;
        echo $proxy." remaining: ".WEB::$proxyswitcher->get_proxy_count() . "\n";
        if (WEB::$proxyswitcher->get_proxy_count()==0)
            break;
    //    WEB::$browser->enable_proxy("",$proxy);
    //    if (WEB::$browser->navigate("whoer.net"))
    //        echo "working\n";
    //    else
    //        echo "not working\n";
        echo "\n";
    }
    
    // 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:7016"
    from xweb_human_emulator import *
    
    # начало
    echo("<hr><font color=blue>proxycheker.xxxxxxxxx</font><hr>")
    
    # 1
    echo("1. Сфорируем файл с прокси : ");
    path="test/add_proxies.urls";
    echo(file_os.delete(path)," ");
    echo(textfile.add_string_to_file(path,"222.124.22.133:8080\n")," ");
    echo(textfile.add_string_to_file(path,"47.90.72.227:8088\n")," ");
    
    # 2
    echo("\n2. Инициализируем переключатель прокси в папке: ");
    echo(proxyswitcher.init("Proxy Switcher"),"\n");
    
    # 3
    echo("3. Очитим все что там что было чтобы перебирать с начала: ");
    echo(proxyswitcher.clear(),"\n");
    
    # 4
    echo("4. Добавим прокси из файла : ");
    echo(proxyswitcher.add_proxies_from_file(path),"\n");
    
    # 4.5
    echo("4.5 Добавим прокси : ");
    echo(proxyswitcher.add_proxies("125.212.207.121:3128\n"),"\n");
    
    # 5
    echo("5. Добавим прокси из урла : ");
    echo(proxyswitcher.add_proxies_from_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html"),"\n");
    
    # 6
    echo("6. Зададим параметры обновления : ");
    echo(proxyswitcher.set_update_path(path)," ");
    echo(proxyswitcher.set_update_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html")," ");
    echo(proxyswitcher.set_update_period(100)," ");
    echo(proxyswitcher.set_update_proxy_count(0),"\n");
    
    # 6.5
    echo("6.5. Зададим последовательный режим перебора : ");
    echo(proxyswitcher.set_random_rotate_mode(false),"\n");
    
    # 7
    browser.set_wait_params(120,1);
    echo("7. Переберем прокси : \n\n");
    while (true):
        proxy = proxyswitcher.get_next_proxy();
        if proxy=="":
            break;
        echo(proxy);
        echo("\n");
    
    # 8
    echo("\n8. Получим  все содержимое перключателя проксей : \n\n");
    echo(proxyswitcher.get_all_proxies(),"\n");
    
    # 9
    echo("\n9. Получим число проксей : ");
    echo(proxyswitcher.get_proxy_count(),"\n");
    
    # 10
    browser.set_wait_params(120,1);
    echo("10. Переберем прокси (с удалением): \n\n");
    while (true):
        proxy = proxyswitcher.get_next_proxy(true);
        if proxy=="":
            break;
        echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()+" ");
        if proxyswitcher.get_proxy_count()==0:
            break;
        echo("\n");
    
    # 11
    echo("\n\n11. Зададим случайный режим перебора : ");
    echo(proxyswitcher.set_random_rotate_mode(true),"\n");
    
    # 12
    echo("12. Обновим : ");
    echo(proxyswitcher.update(),"\n");
    
    # 13
    browser.set_wait_params(120,1);
    echo("13. Переберем прокси (случайно с удалением): \n\n");
    while (true):
        proxy = proxyswitcher.get_next_proxy(true);
        if proxy=="":
            break;
        echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()," ");
        if proxyswitcher.get_proxy_count()==0:
            break;
        echo("\n");
    
    # конец
    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 = Environment.GetEnvironmentVariable("RPABOT_HOST_URL");
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>ftp.command</font><hr>");
    				
                // 1 
                echo("1. Сфорируем файл с прокси : ");
                var path="test/add_proxies.urls";
                echo(file_os.delete(path)+" ");
                echo(textfile.add_string_to_file(path,"222.124.22.133:8080\n")+" ");
                echo(textfile.add_string_to_file(path,"47.90.72.227:8088\n")+" ");
    
                // 2
                echo("\n2. Инициализируем переключатель прокси в папке: ");
                echo(proxyswitcher.init("Proxy Switcher")+"\n");
    
                // 3
                echo("3. Очитим все что там что было чтобы перебирать с начала: ");
                echo(proxyswitcher.clear()+"\n");
    
                // 4
                echo("4. Добавим прокси из файла : ");
                echo(proxyswitcher.add_proxies_from_file(path)+"\n");
    
                // 4.5
                echo("4.5 Добавим прокси : ");
                echo(proxyswitcher.add_proxies("125.212.207.121:3128\n")+"\n");
    
                // 5
                echo("5. Добавим прокси из урла : ");
                echo(proxyswitcher.add_proxies_from_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html")+"\n");
    
                // 6
                echo("6. Зададим параметры обновления : ");
                echo(proxyswitcher.set_update_path(path)+" ");
                echo(proxyswitcher.set_update_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html")+" ");
                echo(proxyswitcher.set_update_period(100)+" ");
                echo(proxyswitcher.set_update_proxy_count(0)+"\n");
    
                // 6.5
                echo("6.5. Зададим последовательный режим перебора : ");
                echo(proxyswitcher.set_random_rotate_mode(false)+"\n");
    
                // 7
                browser.set_wait_params(120,1);
                echo("7. Переберем прокси : \n\n");
                while (true)
                {
                    var proxy = proxyswitcher.get_next_proxy();
                    if (proxy=="")
                        break;
                    echo(proxy);
                    echo("\n");
                }
    
                // 8
                echo("\n8. Получим  все содержимое перключателя проксей : \n\n");
                echo(proxyswitcher.get_all_proxies()+"\n");
    
                // 9
                echo("\n9. Получим число проксей : ");
                echo(proxyswitcher.get_proxy_count()+"\n");
    
                // 9.5
                echo("12. Обновим : ");
                echo(proxyswitcher.update()+"\n");
    
                // 10
                browser.set_wait_params(120,1);
                echo("10. Переберем прокси (с удалением): \n\n");
                while (true)
                {
                    var proxy = proxyswitcher.get_next_proxy(true);
                    if (proxy=="" || proxy=="false")
                        break;
                    echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()+" ");
                    if (proxyswitcher.get_proxy_count()==0)
                        break;
                    echo("\n");
                }
    
                // 11
                echo("\n\n11. Зададим случайный режим перебора : ");
                echo(proxyswitcher.set_random_rotate_mode(true)+"\n");
    
                // 12
                echo("12. Обновим : ");
                echo(proxyswitcher.update()+"\n");
    
                // 13
                browser.set_wait_params(120,1);
                echo("13. Переберем прокси (случайно с удалением): \n\n");
                while (true)
                {
                    var proxy = proxyswitcher.get_next_proxy(true);
                    if (proxy=="" || proxy=="false")
                        break;
                    echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()+" ");
                    if (proxyswitcher.get_proxy_count()==0)
                        break;
                    echo("\n");
                }
    			
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7016";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>proxyswitcher.init</font><hr>");
    
    // 1 
    echo("1. Сфорируем файл с прокси : ");
    var path="test/add_proxies.urls";
    echo(file_os.delete(path)+" ");
    echo(textfile.add_string_to_file(path,"222.124.22.133:8080\n")+" ");
    echo(textfile.add_string_to_file(path,"47.90.72.227:8088\n")+" ");
    
    // 2
    echo("\n2. Инициализируем переключатель прокси в папке: ");
    echo(proxyswitcher.init("Proxy Switcher")+"\n");
    
    // 3
    echo("3. Очитим все что там что было чтобы перебирать с начала: ");
    echo(proxyswitcher.clear()+"\n");
    
    // 4
    echo("4. Добавим прокси из файла : ");
    echo(proxyswitcher.add_proxies_from_file(path)+"\n");
    
    // 4.5
    echo("4.5 Добавим прокси : ");
    echo(proxyswitcher.add_proxies("125.212.207.121:3128\n")+"\n");
    
    // 5
    echo("5. Добавим прокси из урла : ");
    echo(proxyswitcher.add_proxies_from_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html")+"\n");
    
    // 6
    echo("6. Зададим параметры обновления : ");
    echo(proxyswitcher.set_update_path(path)+" ");
    echo(proxyswitcher.set_update_url("https://rpa-bot.ru/wiki/poligon/add_proxies.html")+" ");
    echo(proxyswitcher.set_update_period(100)+" ");
    echo(proxyswitcher.set_update_proxy_count(0)+"\n");
    
    // 6.5
    echo("6.5. Зададим последовательный режим перебора : ");
    echo(proxyswitcher.set_random_rotate_mode(false)+"\n");
    
    // 7
    browser.set_wait_params(120,1);
    echo("7. Переберем прокси : \n\n");
    while (true)
    {
        var proxy = proxyswitcher.get_next_proxy();
        if (proxy=="")
            break;
        echo(proxy);
        echo("\n");
    }
    
    // 8
    echo("\n8. Получим  все содержимое перключателя проксей : \n\n");
    echo(proxyswitcher.get_all_proxies()+"\n");
    
    // 9
    echo("\n9. Получим число проксей : ");
    echo(proxyswitcher.get_proxy_count()+"\n");
    
    // 10
    browser.set_wait_params(120,1);
    echo("10. Переберем прокси (с удалением): \n\n");
    while (true)
    {
        var proxy = proxyswitcher.get_next_proxy(true);
        if (proxy=="")
            break;
        echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()+" ");
        if (proxyswitcher.get_proxy_count()==0)
            break;
        echo("\n");
    }
    
    // 11
    echo("\n\n11. Зададим случайный режим перебора : ");
    echo(proxyswitcher.set_random_rotate_mode(true)+"\n");
    
    // 12
    echo("12. Обновим : ");
    echo(proxyswitcher.update(true)+"\n");
    
    // 13
    browser.set_wait_params(120,1);
    echo("13. Переберем прокси (случайно с удалением): \n\n");
    while (true)
    {
        var proxy = proxyswitcher.get_next_proxy(true);
        if (proxy=="")
            break;
        echo(proxy+" осталось: "+proxyswitcher.get_proxy_count()+" ");
        if (proxyswitcher.get_proxy_count()==0)
            break;
        echo("\n");
    }
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

    =============================================
    Proxyswitcher    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .