$flaresolverrCodes = [401, 403, 622];
- if ($flaresolverr && in_array($res['http_code'], $flaresolverrCodes) /*&& in_array('cloudflare', $response->getHeader('Server'))*/) {
+ if ($flaresolverr && in_array($res['http_code'], $flaresolverrCodes)) {
try {
$cloudflareRes = self::getHttpCodeCloudflare($url, $flaresolverr, $timeout);
if ($cloudflareRes) {
$map = ['GuzzleHttp\Exception\ConnectException' => 622,
'GuzzleHttp\Psr7\Exception\MalformedUriException' => 600];
$messageMap = ['Undefined array key "solution"' => 603];
- $startMap = ['cURL error 60: SSL: no alternative certificate subject name matches target host name' => 695];
+ $startMap = [
+ 'cURL error 60: SSL: no alternative certificate subject name matches target host name' => 695,
+ 'cURL error 60: SSL certificate problem: self-signed certificate' => 696,
+ ];
$exceptionClass = get_class($e);
$message = $e->getMessage();
$response = self::_request($apiUrl, $timeout, 'POST', ['json' => $payload, 'headers' => ['Content-Type' => 'application/json']], false);
$body = json_decode($response->getBody(), true);
$httpcode = $body['solution']['status'];
+ if ($body['message'] == 'Challenge not detected!') {
+ return false;
+ }
if (self::$_cookiesJar && isset($body['solution']['cookies'])) {
foreach ($body['solution']['cookies'] as $cookie) {