/**
* @param string $url
* @param string|null $flaresolverr
- * @return void
+ * @return int
*/
- public static function getResponseCode(string $url, string $flaresolverr = null)
+ public static function getResponseCode(string $url, string $flaresolverr = null): int
{
-
+ $headers = get_headers($url, 1);
+ if ($headers['Server'] === "cloudflare") {
+ $response = self::getHttpCodeCloudflare($url);
+ } else {
+ $response = self::getHttpCode($url);
+ }
+ return (int)$response;
}
- public static function getHttpCodeCloudflare($url) {
+ public static function getHttpCodeCloudflare($url)
+ {
$apiUrl = 'http://flaresolverr:8191/v1';
$payload = json_encode([
$ch = curl_init($apiUrl);
self::$curlOpt = [
CURLOPT_RETURNTRANSFER => true,
- CURLOPT_HEADER => true,
- CURLOPT_NOBODY => true,
- CURLOPT_TIMEOUT => self::$timeout,
+ CURLOPT_HEADER => true,
+ CURLOPT_NOBODY => true,
+ CURLOPT_TIMEOUT => self::$timeout,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
curl_setopt_array($ch, self::$curlOpt);
$response = curl_exec($ch);
- if(preg_match('/(error|code) \b(301|302|308|404|401|403|405|500|502|503)\b/', $response, $matches)) {
+ if (preg_match('/(error|code) \b(301|302|308|404|401|403|405|500|502|503)\b/', $response, $matches)) {
$httpcode = $matches[2] ?? '';
$finalUrl = '';
$finalHttpCode = '';
return ['httpcode' => $httpcode, 'finalurl' => $finalUrl, 'finalHttpCode' => $finalHttpCode];
}
- protected static function setCurlOpt($moreOptions = []) {
+ protected static function setCurlOpt($moreOptions = [])
+ {
self::$curlOpt = [
CURLOPT_RETURNTRANSFER => true,
- CURLOPT_HEADER => true,
- CURLOPT_NOBODY => true,
- CURLOPT_TIMEOUT => self::$timeout,
+ CURLOPT_HEADER => true,
+ CURLOPT_NOBODY => true,
+ CURLOPT_TIMEOUT => self::$timeout,
...$moreOptions
];
}
- public static function getUrlInfo($url) {
- $headers = get_headers($url, 1);
- if($headers['Server'] === "cloudflare") {
- $response = self::getHttpCodeCloudflare($url);
- }else {
- $response = self::getHttpCode($url);
- }
- return $response;
- }
public static function getHttpCodeComment($httpcode)
{