3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace ProxyChecker; class ProxyChecker { private $proxyCheckUrl; private $config = array( 'timeout' => 10, 'check' => array('get', 'post', 'cookie', 'referer', 'user_agent'), ); public function __construct($proxyCheckUrl, array $config = array()) { $this->proxyCheckUrl = $proxyCheckUrl; $this->setConfig($config); } public function setConfig(array $config) { $this->config = array_merge($this->config, $config); } public function checkProxies(array $proxies) { $results = array(); foreach ($proxies as $proxy) { try { $results[$proxy] = $this->checkProxy($proxy); } catch (\Exception $e) { $results[$proxy]['error'] = $e->getMessage(); } } return $results; } public function checkProxy($proxy) { list($content, $info) = $this->getProxyContent($proxy); return $this->checkProxyContent($content, $info); } private function getProxyContent($proxy) { @list($proxyIp, $proxyPassword, $proxyType) = explode(',', $proxy); $ch = \curl_init(); $url = $this->proxyCheckUrl; // check query if (in_array('get', $this->config['check'])) { $url .= '?q=query'; } $options = array( CURLOPT_URL => $url, CURLOPT_PROXY => $proxyIp, CURLOPT_HEADER => true, CURLOPT_TIMEOUT => $this->config['timeout'], CURLOPT_CONNECTTIMEOUT => $this->config['timeout'], CURLOPT_RETURNTRANSFER => true ); if (!empty($proxyPassword)) { $options[CURLOPT_PROXYAUTH] = CURLAUTH_BASIC; $options[CURLOPT_PROXYUSERPWD] = $proxyPassword; } // check post if (in_array('post', $this->config['check'])) { $options[CURLOPT_POST] = true; $options[CURLOPT_POSTFIELDS] = array( 'r' => 'request' ); } // check cookie if (in_array('cookie', $this->config['check'])) { $options[CURLOPT_COOKIE] = 'c=cookie'; } // check refderer if (in_array('referer', $this->config['check'])) { $options[CURLOPT_REFERER] = 'http://www.google.com'; } // check user agent if (in_array('user_agent', $this->config['check'])) { $options[CURLOPT_USERAGENT] = 'Mozila/4.0'; } if (!empty($proxyType)) { if ('http' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; } else if ('socks4' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS4; } else if ('socks5' == $proxyType) { $options[CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS5; } } \curl_setopt_array($ch, $options); $content = \curl_exec($ch); $info = \curl_getinfo($ch); return array($content, $info); } private function checkProxyContent($content, $info) { if (!$content) { throw new \Exception('Empty content'); } if (!strpos($content, 'check this string in proxy response content')) { throw new \Exception('Wrong content'); } if (200 !== $info['http_code']) { throw new \Exception('Code invalid: ' . $info['http_code']); } $allowed = array(); $disallowed = array(); foreach ($this->config['check'] as $value) { if (strpos($content, "allow_$value")) { $allowed[] = $value; } else { $disallowed[] = $value; } } // proxy level $proxyLevel = ''; if (strpos($content, 'proxylevel_elite')) { $proxyLevel = 'elite'; } elseif (strpos($content, 'proxylevel_anonymous')) { $proxyLevel = 'anonymous'; } elseif (strpos($content, 'proxylevel_transparent')) { $proxyLevel = 'transparent'; } return array( 'allowed' => $allowed, 'disallowed' => $disallowed, 'proxy_level' => $proxyLevel, 'info' => $info ); } } $pingUrl = 'http://yourdomain.com/ProxyChecker/ping.php'; $proxyChecker = new ProxyChecker($pingUrl); $proxies = array( '183.95.132.76:80', '195.5.18.41:8118', ); $results = $proxyChecker->checkProxies($proxies); echo '<pre>'; var_export($results); echo '</pre';
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRtPD
function name:  (null)
number of ops:  16
compiled vars:  !0 = $pingUrl, !1 = $proxyChecker, !2 = $proxies, !3 = $results
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  160     0  E >   ASSIGN                                                   !0, 'http%3A%2F%2Fyourdomain.com%2FProxyChecker%2Fping.php'
  161     1        NEW                                              $5      'ProxyChecker%5CProxyChecker'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !1, $5
  163     5        ASSIGN                                                   !2, <array>
  168     6        INIT_METHOD_CALL                                         !1, 'checkProxies'
          7        SEND_VAR_EX                                              !2
          8        DO_FCALL                                      0  $9      
          9        ASSIGN                                                   !3, $9
  170    10        ECHO                                                     '%3Cpre%3E'
  171    11        INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cvar_export'
         12        SEND_VAR_EX                                              !3
         13        DO_FCALL                                      0          
  172    14        ECHO                                                     '%3C%2Fpre'
         15      > RETURN                                                   1

Class ProxyChecker\ProxyChecker:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRtPD
function name:  __construct
number of ops:  8
compiled vars:  !0 = $proxyCheckUrl, !1 = $config
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <array>
   16     2        ASSIGN_OBJ                                               'proxyCheckUrl'
          3        OP_DATA                                                  !0
   18     4        INIT_METHOD_CALL                                         'setConfig'
          5        SEND_VAR_EX                                              !1
          6        DO_FCALL                                      0          
   19     7      > RETURN                                                   null

End of function __construct

Function setconfig:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRtPD
function name:  setConfig
number of ops:  10
compiled vars:  !0 = $config
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   RECV                                             !0      
   23     1        INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Carray_merge'
          2        CHECK_FUNC_ARG                                           
          3        FETCH_OBJ_FUNC_ARG                               $2      'config'
          4        SEND_FUNC_ARG                                            $2
          5        SEND_VAR_EX                                              !0
          6        DO_FCALL                                      0  $3      
          7        ASSIGN_OBJ                                               'config'
          8        OP_DATA                                                  $3
   24     9      > RETURN                                                   null

End of function setconfig

Function checkproxies:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 17
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
Found catch point at position: 10
Branch analysis from position: 10
2 jumps found. (Code = 107) Position 1 = 11, Position 2 = -2
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
filename:       /in/sRtPD
function name:  checkProxies
number of ops:  20
compiled vars:  !0 = $proxies, !1 = $results, !2 = $proxy, !3 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   26     0  E >   RECV                                             !0      
   28     1        ASSIGN                                                   !1, <array>
   30     2      > FE_RESET_R                                       $5      !0, ->17
          3    > > FE_FETCH_R                                               $5, !2, ->17
   32     4    >   INIT_METHOD_CALL                                         'checkProxy'
          5        SEND_VAR_EX                                              !2
          6        DO_FCALL                                      0  $7      
          7        ASSIGN_DIM                                               !1, !2
          8        OP_DATA                                                  $7
          9      > JMP                                                      ->16
   33    10  E > > CATCH                                       last         'Exception'
   34    11    >   INIT_METHOD_CALL                                         !3, 'getMessage'
         12        DO_FCALL                                      0  $10     
         13        FETCH_DIM_W                                      $8      !1, !2
         14        ASSIGN_DIM                                               $8, 'error'
         15        OP_DATA                                                  $10
   30    16    > > JMP                                                      ->3
         17    >   FE_FREE                                                  $5
   38    18      > RETURN                                                   !1
   39    19*     > RETURN                                                   null

End of function checkproxies

Function checkproxy:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRtPD
function name:  checkProxy
number of ops:  15
compiled vars:  !0 = $proxy, !1 = $content, !2 = $info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   41     0  E >   RECV                                             !0      
   43     1        INIT_METHOD_CALL                                         'getProxyContent'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0  $3      
          4        FETCH_LIST_R                                     $4      $3, 0
          5        ASSIGN                                                   !1, $4
          6        FETCH_LIST_R                                     $6      $3, 1
          7        ASSIGN                                                   !2, $6
          8        FREE                                                     $3
   45     9        INIT_METHOD_CALL                                         'checkProxyContent'
         10        SEND_VAR_EX                                              !1
         11        SEND_VAR_EX                                              !2
         12        DO_FCALL                                      0  $8      
         13      > RETURN                                                   $8
   46    14*     > RETURN                                                   null

End of function checkproxy

Function getproxycontent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 28
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 55
Branch analysis from position: 48
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 69
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 77, Position 2 = 80
Branch analysis from position: 77
2 jumps found. (Code = 43) Position 1 = 88, Position 2 = 91
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 102
Branch analysis from position: 99
2 jumps found. (Code = 43) Position 1 = 105, Position 2 = 125
Branch analysis from position: 105
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 112
Branch analysis from position: 107
1 jumps found. (Code = 42) Position 1 = 125
Branch analysis from position: 125
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 112
2 jumps found. (Code = 43) Position 1 = 114, Position 2 = 119
Branch analysis from position: 114
1 jumps found. (Code = 42) Position 1 = 125
Branch analysis from position: 125
Branch analysis from position: 119
2 jumps found. (Code = 43) Position 1 = 121, Position 2 = 125
Branch analysis from position: 121
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 125
Branch analysis from position: 125
Branch analysis from position: 102
Branch analysis from position: 91
Branch analysis from position: 80
Branch analysis from position: 69
Branch analysis from position: 55
Branch analysis from position: 28
filename:       /in/sRtPD
function name:  getProxyContent
number of ops:  141
compiled vars:  !0 = $proxy, !1 = $proxyIp, !2 = $proxyPassword, !3 = $proxyType, !4 = $ch, !5 = $url, !6 = $options, !7 = $content, !8 = $info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   RECV                                             !0      
   50     1        BEGIN_SILENCE                                    ~9      
          2        INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cexplode'
          3        SEND_VAL_EX                                              '%2C'
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0  $10     
          6        FETCH_LIST_R                                     $11     $10, 0
          7        ASSIGN                                                   !1, $11
          8        FETCH_LIST_R                                     $13     $10, 1
          9        ASSIGN                                                   !2, $13
         10        FETCH_LIST_R                                     $15     $10, 2
         11        ASSIGN                                                   !3, $15
         12        END_SILENCE                                              ~9
         13        FREE                                                     $10
   52    14        INIT_FCALL_BY_NAME                                       'curl_init'
         15        DO_FCALL                                      0  $17     
         16        ASSIGN                                                   !4, $17
   54    17        FETCH_OBJ_R                                      ~19     'proxyCheckUrl'
         18        ASSIGN                                                   !5, ~19
   57    19        INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cin_array'
         20        SEND_VAL_EX                                              'get'
         21        CHECK_FUNC_ARG                                           
         22        FETCH_OBJ_FUNC_ARG                               $21     'config'
         23        FETCH_DIM_FUNC_ARG                               $22     $21, 'check'
         24        SEND_FUNC_ARG                                            $22
         25        DO_FCALL                                      0  $23     
         26      > JMPZ                                                     $23, ->28
   58    27    >   ASSIGN_OP                                     8          !5, '%3Fq%3Dquery'
   62    28    >   FETCH_CONSTANT                                   ~25     'ProxyChecker%5CCURLOPT_URL'
         29        INIT_ARRAY                                       ~26     !5, ~25
   63    30        FETCH_CONSTANT                                   ~27     'ProxyChecker%5CCURLOPT_PROXY'
         31        ADD_ARRAY_ELEMENT                                ~26     !1, ~27
   64    32        FETCH_CONSTANT                                   ~28     'ProxyChecker%5CCURLOPT_HEADER'
   62    33        ADD_ARRAY_ELEMENT                                ~26     <true>, ~28
   65    34        FETCH_CONSTANT                                   ~29     'ProxyChecker%5CCURLOPT_TIMEOUT'
         35        FETCH_OBJ_R                                      ~30     'config'
         36        FETCH_DIM_R                                      ~31     ~30, 'timeout'
         37        ADD_ARRAY_ELEMENT                                ~26     ~31, ~29
   66    38        FETCH_CONSTANT                                   ~32     'ProxyChecker%5CCURLOPT_CONNECTTIMEOUT'
         39        FETCH_OBJ_R                                      ~33     'config'
         40        FETCH_DIM_R                                      ~34     ~33, 'timeout'
         41        ADD_ARRAY_ELEMENT                                ~26     ~34, ~32
   67    42        FETCH_CONSTANT                                   ~35     'ProxyChecker%5CCURLOPT_RETURNTRANSFER'
   62    43        ADD_ARRAY_ELEMENT                                ~26     <true>, ~35
   61    44        ASSIGN                                                   !6, ~26
   70    45        ISSET_ISEMPTY_CV                                 ~37     !2
         46        BOOL_NOT                                         ~38     ~37
         47      > JMPZ                                                     ~38, ->55
   71    48    >   FETCH_CONSTANT                                   ~39     'ProxyChecker%5CCURLOPT_PROXYAUTH'
         49        FETCH_CONSTANT                                   ~41     'ProxyChecker%5CCURLAUTH_BASIC'
         50        ASSIGN_DIM                                               !6, ~39
         51        OP_DATA                                                  ~41
   72    52        FETCH_CONSTANT                                   ~42     'ProxyChecker%5CCURLOPT_PROXYUSERPWD'
         53        ASSIGN_DIM                                               !6, ~42
         54        OP_DATA                                                  !2
   76    55    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cin_array'
         56        SEND_VAL_EX                                              'post'
         57        CHECK_FUNC_ARG                                           
         58        FETCH_OBJ_FUNC_ARG                               $44     'config'
         59        FETCH_DIM_FUNC_ARG                               $45     $44, 'check'
         60        SEND_FUNC_ARG                                            $45
         61        DO_FCALL                                      0  $46     
         62      > JMPZ                                                     $46, ->69
   77    63    >   FETCH_CONSTANT                                   ~47     'ProxyChecker%5CCURLOPT_POST'
         64        ASSIGN_DIM                                               !6, ~47
         65        OP_DATA                                                  <true>
   78    66        FETCH_CONSTANT                                   ~49     'ProxyChecker%5CCURLOPT_POSTFIELDS'
         67        ASSIGN_DIM                                               !6, ~49
   79    68        OP_DATA                                                  <array>
   84    69    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cin_array'
         70        SEND_VAL_EX                                              'cookie'
         71        CHECK_FUNC_ARG                                           
         72        FETCH_OBJ_FUNC_ARG                               $51     'config'
         73        FETCH_DIM_FUNC_ARG                               $52     $51, 'check'
         74        SEND_FUNC_ARG                                            $52
         75        DO_FCALL                                      0  $53     
         76      > JMPZ                                                     $53, ->80
   85    77    >   FETCH_CONSTANT                                   ~54     'ProxyChecker%5CCURLOPT_COOKIE'
         78        ASSIGN_DIM                                               !6, ~54
         79        OP_DATA                                                  'c%3Dcookie'
   89    80    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cin_array'
         81        SEND_VAL_EX                                              'referer'
         82        CHECK_FUNC_ARG                                           
         83        FETCH_OBJ_FUNC_ARG                               $56     'config'
         84        FETCH_DIM_FUNC_ARG                               $57     $56, 'check'
         85        SEND_FUNC_ARG                                            $57
         86        DO_FCALL                                      0  $58     
         87      > JMPZ                                                     $58, ->91
   90    88    >   FETCH_CONSTANT                                   ~59     'ProxyChecker%5CCURLOPT_REFERER'
         89        ASSIGN_DIM                                               !6, ~59
         90        OP_DATA                                                  'http%3A%2F%2Fwww.google.com'
   94    91    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cin_array'
         92        SEND_VAL_EX                                              'user_agent'
         93        CHECK_FUNC_ARG                                           
         94        FETCH_OBJ_FUNC_ARG                               $61     'config'
         95        FETCH_DIM_FUNC_ARG                               $62     $61, 'check'
         96        SEND_FUNC_ARG                                            $62
         97        DO_FCALL                                      0  $63     
         98      > JMPZ                                                     $63, ->102
   95    99    >   FETCH_CONSTANT                                   ~64     'ProxyChecker%5CCURLOPT_USERAGENT'
        100        ASSIGN_DIM                                               !6, ~64
        101        OP_DATA                                                  'Mozila%2F4.0'
   98   102    >   ISSET_ISEMPTY_CV                                 ~66     !3
        103        BOOL_NOT                                         ~67     ~66
        104      > JMPZ                                                     ~67, ->125
   99   105    >   IS_EQUAL                                                 !3, 'http'
        106      > JMPZ                                                     ~68, ->112
  100   107    >   FETCH_CONSTANT                                   ~69     'ProxyChecker%5CCURLOPT_PROXYTYPE'
        108        FETCH_CONSTANT                                   ~71     'ProxyChecker%5CCURLPROXY_HTTP'
        109        ASSIGN_DIM                                               !6, ~69
        110        OP_DATA                                                  ~71
        111      > JMP                                                      ->125
  101   112    >   IS_EQUAL                                                 !3, 'socks4'
        113      > JMPZ                                                     ~72, ->119
  102   114    >   FETCH_CONSTANT                                   ~73     'ProxyChecker%5CCURLOPT_PROXYTYPE'
        115        FETCH_CONSTANT                                   ~75     'ProxyChecker%5CCURLPROXY_SOCKS4'
        116        ASSIGN_DIM                                               !6, ~73
        117        OP_DATA                                                  ~75
        118      > JMP                                                      ->125
  103   119    >   IS_EQUAL                                                 !3, 'socks5'
        120      > JMPZ                                                     ~76, ->125
  104   121    >   FETCH_CONSTANT                                   ~77     'ProxyChecker%5CCURLOPT_PROXYTYPE'
        122        FETCH_CONSTANT                                   ~79     'ProxyChecker%5CCURLPROXY_SOCKS5'
        123        ASSIGN_DIM                                               !6, ~77
        124        OP_DATA                                                  ~79
  108   125    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        126        SEND_VAR_EX                                              !4
        127        SEND_VAR_EX                                              !6
        128        DO_FCALL                                      0          
  110   129        INIT_FCALL_BY_NAME                                       'curl_exec'
        130        SEND_VAR_EX                                              !4
        131        DO_FCALL                                      0  $81     
        132        ASSIGN                                                   !7, $81
  111   133        INIT_FCALL_BY_NAME                                       'curl_getinfo'
        134        SEND_VAR_EX                                              !4
        135        DO_FCALL                                      0  $83     
        136        ASSIGN                                                   !8, $83
  113   137        INIT_ARRAY                                       ~85     !7
        138        ADD_ARRAY_ELEMENT                                ~85     !8
        139      > RETURN                                                   ~85
  114   140*     > RETURN                                                   null

End of function getproxycontent

Function checkproxycontent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 18
Branch analysis from position: 14
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 27
Branch analysis from position: 21
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 77) Position 1 = 32, Position 2 = 46
Branch analysis from position: 32
2 jumps found. (Code = 78) Position 1 = 33, Position 2 = 46
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 43
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 55
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 62
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 68
Branch analysis from position: 67
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 68
Branch analysis from position: 46
filename:       /in/sRtPD
function name:  checkProxyContent
number of ops:  74
compiled vars:  !0 = $content, !1 = $info, !2 = $allowed, !3 = $disallowed, !4 = $value, !5 = $proxyLevel
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  116     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  118     2        BOOL_NOT                                         ~6      !0
          3      > JMPZ                                                     ~6, ->8
  119     4    >   NEW                                              $7      'Exception'
          5        SEND_VAL_EX                                              'Empty+content'
          6        DO_FCALL                                      0          
          7      > THROW                                         0          $7
  122     8    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cstrpos'
          9        SEND_VAR_EX                                              !0
         10        SEND_VAL_EX                                              'check+this+string+in+proxy+response+content'
         11        DO_FCALL                                      0  $9      
         12        BOOL_NOT                                         ~10     $9
         13      > JMPZ                                                     ~10, ->18
  123    14    >   NEW                                              $11     'Exception'
         15        SEND_VAL_EX                                              'Wrong+content'
         16        DO_FCALL                                      0          
         17      > THROW                                         0          $11
  126    18    >   FETCH_DIM_R                                      ~13     !1, 'http_code'
         19        IS_NOT_IDENTICAL                                         ~13, 200
         20      > JMPZ                                                     ~14, ->27
  127    21    >   NEW                                              $15     'Exception'
         22        FETCH_DIM_R                                      ~16     !1, 'http_code'
         23        CONCAT                                           ~17     'Code+invalid%3A+', ~16
         24        SEND_VAL_EX                                              ~17
         25        DO_FCALL                                      0          
         26      > THROW                                         0          $15
  130    27    >   ASSIGN                                                   !2, <array>
  131    28        ASSIGN                                                   !3, <array>
  133    29        FETCH_OBJ_R                                      ~21     'config'
         30        FETCH_DIM_R                                      ~22     ~21, 'check'
         31      > FE_RESET_R                                       $23     ~22, ->46
         32    > > FE_FETCH_R                                               $23, !4, ->46
  134    33    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cstrpos'
         34        SEND_VAR_EX                                              !0
         35        NOP                                                      
         36        FAST_CONCAT                                      ~24     'allow_', !4
         37        SEND_VAL_EX                                              ~24
         38        DO_FCALL                                      0  $25     
         39      > JMPZ                                                     $25, ->43
  135    40    >   ASSIGN_DIM                                               !2
         41        OP_DATA                                                  !4
         42      > JMP                                                      ->45
  137    43    >   ASSIGN_DIM                                               !3
         44        OP_DATA                                                  !4
  133    45    > > JMP                                                      ->32
         46    >   FE_FREE                                                  $23
  142    47        ASSIGN                                                   !5, ''
  143    48        INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cstrpos'
         49        SEND_VAR_EX                                              !0
         50        SEND_VAL_EX                                              'proxylevel_elite'
         51        DO_FCALL                                      0  $29     
         52      > JMPZ                                                     $29, ->55
  144    53    >   ASSIGN                                                   !5, 'elite'
         54      > JMP                                                      ->68
  145    55    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cstrpos'
         56        SEND_VAR_EX                                              !0
         57        SEND_VAL_EX                                              'proxylevel_anonymous'
         58        DO_FCALL                                      0  $31     
         59      > JMPZ                                                     $31, ->62
  146    60    >   ASSIGN                                                   !5, 'anonymous'
         61      > JMP                                                      ->68
  147    62    >   INIT_NS_FCALL_BY_NAME                                    'ProxyChecker%5Cstrpos'
         63        SEND_VAR_EX                                              !0
         64        SEND_VAL_EX                                              'proxylevel_transparent'
         65        DO_FCALL                                      0  $33     
         66      > JMPZ                                                     $33, ->68
  148    67    >   ASSIGN                                                   !5, 'transparent'
  152    68    >   INIT_ARRAY                                       ~35     !2, 'allowed'
  153    69        ADD_ARRAY_ELEMENT                                ~35     !3, 'disallowed'
  154    70        ADD_ARRAY_ELEMENT                                ~35     !5, 'proxy_level'
  155    71        ADD_ARRAY_ELEMENT                                ~35     !1, 'info'
         72      > RETURN                                                   ~35
  157    73*     > RETURN                                                   null

End of function checkproxycontent

End of class ProxyChecker\ProxyChecker.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160 ms | 1424 KiB | 23 Q