['timeout'=>5]]); $ping = @file_get_contents('http://127.0.0.1:8191/', false, $ctx); echo json_encode(['ok'=>(bool)$ping, 'flaresolverr'=>json_decode($ping, true)]); exit; } if (empty($url) || !filter_var($url, FILTER_VALIDATE_URL)) { echo json_encode(['ok'=>false, 'err'=>'url_required']); exit; } $payload = json_encode([ 'cmd'=>'request.get', 'url'=>$url, 'maxTimeout'=>60000, 'returnOnlyCookies'=>true ]); $ch = curl_init('http://127.0.0.1:8191/v1'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER=>true, CURLOPT_POST=>true, CURLOPT_POSTFIELDS=>$payload, CURLOPT_HTTPHEADER=>['Content-Type: application/json'], CURLOPT_TIMEOUT=>75, ]); $resp = curl_exec($ch); $http = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http !== 200) { echo json_encode(['ok'=>false, 'err'=>'flaresolverr_http_'.$http]); exit; } $d = json_decode($resp, true); $sol = $d['solution'] ?? []; $cookies = $sol['cookies'] ?? []; // Summarize $cookie_str = implode('; ', array_map(fn($c)=>$c['name'].'='.$c['value'], $cookies)); $cf_clearance = ''; foreach($cookies as $c) if($c['name']==='cf_clearance') $cf_clearance=substr($c['value'],0,40).'...'; echo json_encode([ 'ok'=>true, 'status'=>$d['status'] ?? 'unknown', 'message'=>$d['message'] ?? '', 'url_final'=>$sol['url'] ?? '', 'http'=>$sol['status'] ?? 0, 'cookie_count'=>count($cookies), 'cf_clearance_preview'=>$cf_clearance, 'user_agent'=>$d['solution']['userAgent'] ?? ($d['userAgent'] ?? ''), 'cookies'=>$cookies, ]);