3v4l.org

run code in 300+ PHP versions simultaneously
<?php chdir("/home/kolhozba/public_html/obmen/"); function action($nextUrl) { $curl = curl_init(); curl_setopt ($curl, CURLOPT_URL, $nextUrl); curl_setopt ($curl, CURLOPT_AUTOREFERER, true); // TRUE для автоматической установки поля Referer: в запросах, перенаправленных заголовком Location:. curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, true); // TRUE для следования любому заголовку "Location: ", отправленному сервером в своем ответе (учтите, что это происходит рекурсивно, PHP будет следовать за всеми посылаемыми заголовками "Location: ", за исключением случая, когда установлена константа CURLOPT_MAXREDIRS). curl_setopt ($curl, CURLOPT_TIMEOUT, 10); // Сколько сек. ждать ответ сервра curl_setopt ($curl, CURLOPT_COOKIEFILE, 'cookie.txt'); curl_setopt ($curl, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt ($curl, CURLOPT_USERAGENT, "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.334; U; id) Presto/2.5.25 Version/10.54"); curl_setopt ($curl, CURLOPT_HEADER, true); // TRUE для включения заголовков в вывод. curl_setopt($curl, CURLINFO_HEADER_OUT, true); curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true); // TRUE для возврата результата передачи в качестве строки из curl_exec() вместо прямого вывода в браузер. $out = curl_exec($curl); curl_close($curl); return $out; } $arr=file('list.txt'); for ($i=0;$i<count($arr);$i++) { $nextUrl=$arr[$i]; $hostUrl=parse_url($nextUrl); $hostUrl=$hostUrl["host"]; sleep(mt_rand(1,4)); action($nextUrl); $nextUrl='http://'.$hostUrl.'/converter'; sleep(mt_rand(1,4)); $dump=action($nextUrl); $dom = new DomDocument; @$dom->loadHTML($dump); $xpath = new DomXPath($dom); if ($xpath->evaluate("//div[@class='content']/div[@class='block']/div[2]/a/text()")->item(0)->nodeValue=='Обменять') { $xpath=$xpath->evaluate("//div[@class='content']/div[@class='block']/div[2]/a")->item(0)->getAttribute('href'); $nextUrl='http://'.$hostUrl.'/'.$xpath; sleep(mt_rand(1,4)); $dump=action($nextUrl); $dom = new DomDocument; @$dom->loadHTML($dump); $xpath = new DomXPath($dom); $xpath=$xpath->evaluate("//div[@style='text-align:center;']/div[@class='pt']/a")->item(0)->getAttribute('href'); $nextUrl='http://'.$hostUrl.'/'.substr($xpath, 6); sleep(mt_rand(1,4)); $dump=action($nextUrl); } else { $xpath=$xpath->evaluate("//div[@style='text-align:center;']/div[@class='pt']/a")->item(0)->getAttribute('href'); $nextUrl='http://'.$hostUrl.'/'.$xpath; sleep(mt_rand(1,4)); $dump=action($nextUrl); } } echo "Done"; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 155
Branch analysis from position: 155
2 jumps found. (Code = 44) Position 1 = 158, Position 2 = 9
Branch analysis from position: 158
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 62, Position 2 = 129
Branch analysis from position: 62
1 jumps found. (Code = 42) Position 1 = 154
Branch analysis from position: 154
2 jumps found. (Code = 44) Position 1 = 158, Position 2 = 9
Branch analysis from position: 158
Branch analysis from position: 9
Branch analysis from position: 129
2 jumps found. (Code = 44) Position 1 = 158, Position 2 = 9
Branch analysis from position: 158
Branch analysis from position: 9
filename:       /in/mEe1I
function name:  (null)
number of ops:  160
compiled vars:  !0 = $arr, !1 = $i, !2 = $nextUrl, !3 = $hostUrl, !4 = $dump, !5 = $dom, !6 = $xpath
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'chdir'
          1        SEND_VAL                                                 '%2Fhome%2Fkolhozba%2Fpublic_html%2Fobmen%2F'
          2        DO_ICALL                                                 
   20     3        INIT_FCALL                                               'file'
          4        SEND_VAL                                                 'list.txt'
          5        DO_ICALL                                         $8      
          6        ASSIGN                                                   !0, $8
   21     7        ASSIGN                                                   !1, 0
          8      > JMP                                                      ->155
   23     9    >   FETCH_DIM_R                                      ~11     !0, !1
         10        ASSIGN                                                   !2, ~11
   24    11        INIT_FCALL                                               'parse_url'
         12        SEND_VAR                                                 !2
         13        DO_ICALL                                         $13     
         14        ASSIGN                                                   !3, $13
   25    15        FETCH_DIM_R                                      ~15     !3, 'host'
         16        ASSIGN                                                   !3, ~15
   26    17        INIT_FCALL                                               'sleep'
         18        INIT_FCALL                                               'mt_rand'
         19        SEND_VAL                                                 1
         20        SEND_VAL                                                 4
         21        DO_ICALL                                         $17     
         22        SEND_VAR                                                 $17
         23        DO_ICALL                                                 
   27    24        INIT_FCALL                                               'action'
         25        SEND_VAR                                                 !2
         26        DO_FCALL                                      0          
   28    27        CONCAT                                           ~20     'http%3A%2F%2F', !3
         28        CONCAT                                           ~21     ~20, '%2Fconverter'
         29        ASSIGN                                                   !2, ~21
   29    30        INIT_FCALL                                               'sleep'
         31        INIT_FCALL                                               'mt_rand'
         32        SEND_VAL                                                 1
         33        SEND_VAL                                                 4
         34        DO_ICALL                                         $23     
         35        SEND_VAR                                                 $23
         36        DO_ICALL                                                 
   30    37        INIT_FCALL                                               'action'
         38        SEND_VAR                                                 !2
         39        DO_FCALL                                      0  $25     
         40        ASSIGN                                                   !4, $25
   31    41        NEW                                              $27     'DomDocument'
         42        DO_FCALL                                      0          
         43        ASSIGN                                                   !5, $27
   32    44        BEGIN_SILENCE                                    ~30     
         45        INIT_METHOD_CALL                                         !5, 'loadHTML'
         46        SEND_VAR_EX                                              !4
         47        DO_FCALL                                      0          
         48        END_SILENCE                                              ~30
   33    49        NEW                                              $32     'DomXPath'
         50        SEND_VAR_EX                                              !5
         51        DO_FCALL                                      0          
         52        ASSIGN                                                   !6, $32
   34    53        INIT_METHOD_CALL                                         !6, 'evaluate'
         54        SEND_VAL_EX                                              '%2F%2Fdiv%5B%40class%3D%27content%27%5D%2Fdiv%5B%40class%3D%27block%27%5D%2Fdiv%5B2%5D%2Fa%2Ftext%28%29'
         55        DO_FCALL                                      0  $35     
         56        INIT_METHOD_CALL                                         $35, 'item'
         57        SEND_VAL_EX                                              0
         58        DO_FCALL                                      0  $36     
         59        FETCH_OBJ_R                                      ~37     $36, 'nodeValue'
         60        IS_EQUAL                                                 ~37, '%D0%9E%D0%B1%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C'
         61      > JMPZ                                                     ~38, ->129
   36    62    >   INIT_METHOD_CALL                                         !6, 'evaluate'
         63        SEND_VAL_EX                                              '%2F%2Fdiv%5B%40class%3D%27content%27%5D%2Fdiv%5B%40class%3D%27block%27%5D%2Fdiv%5B2%5D%2Fa'
         64        DO_FCALL                                      0  $39     
         65        INIT_METHOD_CALL                                         $39, 'item'
         66        SEND_VAL_EX                                              0
         67        DO_FCALL                                      0  $40     
         68        INIT_METHOD_CALL                                         $40, 'getAttribute'
         69        SEND_VAL_EX                                              'href'
         70        DO_FCALL                                      0  $41     
         71        ASSIGN                                                   !6, $41
   37    72        CONCAT                                           ~43     'http%3A%2F%2F', !3
         73        CONCAT                                           ~44     ~43, '%2F'
         74        CONCAT                                           ~45     ~44, !6
         75        ASSIGN                                                   !2, ~45
   38    76        INIT_FCALL                                               'sleep'
         77        INIT_FCALL                                               'mt_rand'
         78        SEND_VAL                                                 1
         79        SEND_VAL                                                 4
         80        DO_ICALL                                         $47     
         81        SEND_VAR                                                 $47
         82        DO_ICALL                                                 
   39    83        INIT_FCALL                                               'action'
         84        SEND_VAR                                                 !2
         85        DO_FCALL                                      0  $49     
         86        ASSIGN                                                   !4, $49
   40    87        NEW                                              $51     'DomDocument'
         88        DO_FCALL                                      0          
         89        ASSIGN                                                   !5, $51
   41    90        BEGIN_SILENCE                                    ~54     
         91        INIT_METHOD_CALL                                         !5, 'loadHTML'
         92        SEND_VAR_EX                                              !4
         93        DO_FCALL                                      0          
         94        END_SILENCE                                              ~54
   42    95        NEW                                              $56     'DomXPath'
         96        SEND_VAR_EX                                              !5
         97        DO_FCALL                                      0          
         98        ASSIGN                                                   !6, $56
   43    99        INIT_METHOD_CALL                                         !6, 'evaluate'
        100        SEND_VAL_EX                                              '%2F%2Fdiv%5B%40style%3D%27text-align%3Acenter%3B%27%5D%2Fdiv%5B%40class%3D%27pt%27%5D%2Fa'
        101        DO_FCALL                                      0  $59     
        102        INIT_METHOD_CALL                                         $59, 'item'
        103        SEND_VAL_EX                                              0
        104        DO_FCALL                                      0  $60     
        105        INIT_METHOD_CALL                                         $60, 'getAttribute'
        106        SEND_VAL_EX                                              'href'
        107        DO_FCALL                                      0  $61     
        108        ASSIGN                                                   !6, $61
   44   109        CONCAT                                           ~63     'http%3A%2F%2F', !3
        110        CONCAT                                           ~64     ~63, '%2F'
        111        INIT_FCALL                                               'substr'
        112        SEND_VAR                                                 !6
        113        SEND_VAL                                                 6
        114        DO_ICALL                                         $65     
        115        CONCAT                                           ~66     ~64, $65
        116        ASSIGN                                                   !2, ~66
   45   117        INIT_FCALL                                               'sleep'
        118        INIT_FCALL                                               'mt_rand'
        119        SEND_VAL                                                 1
        120        SEND_VAL                                                 4
        121        DO_ICALL                                         $68     
        122        SEND_VAR                                                 $68
        123        DO_ICALL                                                 
   46   124        INIT_FCALL                                               'action'
        125        SEND_VAR                                                 !2
        126        DO_FCALL                                      0  $70     
        127        ASSIGN                                                   !4, $70
        128      > JMP                                                      ->154
   50   129    >   INIT_METHOD_CALL                                         !6, 'evaluate'
        130        SEND_VAL_EX                                              '%2F%2Fdiv%5B%40style%3D%27text-align%3Acenter%3B%27%5D%2Fdiv%5B%40class%3D%27pt%27%5D%2Fa'
        131        DO_FCALL                                      0  $72     
        132        INIT_METHOD_CALL                                         $72, 'item'
        133        SEND_VAL_EX                                              0
        134        DO_FCALL                                      0  $73     
        135        INIT_METHOD_CALL                                         $73, 'getAttribute'
        136        SEND_VAL_EX                                              'href'
        137        DO_FCALL                                      0  $74     
        138        ASSIGN                                                   !6, $74
   51   139        CONCAT                                           ~76     'http%3A%2F%2F', !3
        140        CONCAT                                           ~77     ~76, '%2F'
        141        CONCAT                                           ~78     ~77, !6
        142        ASSIGN                                                   !2, ~78
   52   143        INIT_FCALL                                               'sleep'
        144        INIT_FCALL                                               'mt_rand'
        145        SEND_VAL                                                 1
        146        SEND_VAL                                                 4
        147        DO_ICALL                                         $80     
        148        SEND_VAR                                                 $80
        149        DO_ICALL                                                 
   53   150        INIT_FCALL                                               'action'
        151        SEND_VAR                                                 !2
        152        DO_FCALL                                      0  $82     
        153        ASSIGN                                                   !4, $82
   21   154    >   PRE_INC                                                  !1
        155    >   COUNT                                            ~85     !0
        156        IS_SMALLER                                               !1, ~85
        157      > JMPNZ                                                    ~86, ->9
   56   158    >   ECHO                                                     'Done'
   57   159      > RETURN                                                   1

Function action:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/mEe1I
function name:  action
number of ops:  73
compiled vars:  !0 = $nextUrl, !1 = $curl, !2 = $out
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    5     1        INIT_FCALL_BY_NAME                                       'curl_init'
          2        DO_FCALL                                      0  $3      
          3        ASSIGN                                                   !1, $3
    6     4        INIT_FCALL_BY_NAME                                       'curl_setopt'
          5        SEND_VAR_EX                                              !1
          6        FETCH_CONSTANT                                   ~5      'CURLOPT_URL'
          7        SEND_VAL_EX                                              ~5
          8        SEND_VAR_EX                                              !0
          9        DO_FCALL                                      0          
    7    10        INIT_FCALL_BY_NAME                                       'curl_setopt'
         11        SEND_VAR_EX                                              !1
         12        FETCH_CONSTANT                                   ~7      'CURLOPT_AUTOREFERER'
         13        SEND_VAL_EX                                              ~7
         14        SEND_VAL_EX                                              <true>
         15        DO_FCALL                                      0          
    8    16        INIT_FCALL_BY_NAME                                       'curl_setopt'
         17        SEND_VAR_EX                                              !1
         18        FETCH_CONSTANT                                   ~9      'CURLOPT_FOLLOWLOCATION'
         19        SEND_VAL_EX                                              ~9
         20        SEND_VAL_EX                                              <true>
         21        DO_FCALL                                      0          
    9    22        INIT_FCALL_BY_NAME                                       'curl_setopt'
         23        SEND_VAR_EX                                              !1
         24        FETCH_CONSTANT                                   ~11     'CURLOPT_TIMEOUT'
         25        SEND_VAL_EX                                              ~11
         26        SEND_VAL_EX                                              10
         27        DO_FCALL                                      0          
   10    28        INIT_FCALL_BY_NAME                                       'curl_setopt'
         29        SEND_VAR_EX                                              !1
         30        FETCH_CONSTANT                                   ~13     'CURLOPT_COOKIEFILE'
         31        SEND_VAL_EX                                              ~13
         32        SEND_VAL_EX                                              'cookie.txt'
         33        DO_FCALL                                      0          
   11    34        INIT_FCALL_BY_NAME                                       'curl_setopt'
         35        SEND_VAR_EX                                              !1
         36        FETCH_CONSTANT                                   ~15     'CURLOPT_COOKIEJAR'
         37        SEND_VAL_EX                                              ~15
         38        SEND_VAL_EX                                              'cookie.txt'
         39        DO_FCALL                                      0          
   12    40        INIT_FCALL_BY_NAME                                       'curl_setopt'
         41        SEND_VAR_EX                                              !1
         42        FETCH_CONSTANT                                   ~17     'CURLOPT_USERAGENT'
         43        SEND_VAL_EX                                              ~17
         44        SEND_VAL_EX                                              'Opera%2F9.80+%28J2ME%2FMIDP%3B+Opera+Mini%2F9.80+%28S60%3B+SymbOS%3B+Opera+Mobi%2F23.334%3B+U%3B+id%29+Presto%2F2.5.25+Version%2F10.54'
         45        DO_FCALL                                      0          
   13    46        INIT_FCALL_BY_NAME                                       'curl_setopt'
         47        SEND_VAR_EX                                              !1
         48        FETCH_CONSTANT                                   ~19     'CURLOPT_HEADER'
         49        SEND_VAL_EX                                              ~19
         50        SEND_VAL_EX                                              <true>
         51        DO_FCALL                                      0          
   14    52        INIT_FCALL_BY_NAME                                       'curl_setopt'
         53        SEND_VAR_EX                                              !1
         54        FETCH_CONSTANT                                   ~21     'CURLINFO_HEADER_OUT'
         55        SEND_VAL_EX                                              ~21
         56        SEND_VAL_EX                                              <true>
         57        DO_FCALL                                      0          
   15    58        INIT_FCALL_BY_NAME                                       'curl_setopt'
         59        SEND_VAR_EX                                              !1
         60        FETCH_CONSTANT                                   ~23     'CURLOPT_RETURNTRANSFER'
         61        SEND_VAL_EX                                              ~23
         62        SEND_VAL_EX                                              <true>
         63        DO_FCALL                                      0          
   16    64        INIT_FCALL_BY_NAME                                       'curl_exec'
         65        SEND_VAR_EX                                              !1
         66        DO_FCALL                                      0  $25     
         67        ASSIGN                                                   !2, $25
   17    68        INIT_FCALL_BY_NAME                                       'curl_close'
         69        SEND_VAR_EX                                              !1
         70        DO_FCALL                                      0          
   18    71      > RETURN                                                   !2
   19    72*     > RETURN                                                   null

End of function action

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.17 ms | 1419 KiB | 30 Q