Add new Network::testURL method
- Remove obsolete intval() call in Network::fetchURL
This commit is contained in:
parent
93e0153112
commit
6797eb72cb
|
@ -23,7 +23,7 @@ class Network
|
||||||
}
|
}
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT, max(intval($timeout), 1)); //Minimum of 1 second timeout.
|
curl_setopt($ch, CURLOPT_TIMEOUT, max($timeout, 1)); //Minimum of 1 second timeout.
|
||||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||||
curl_setopt($ch, CURLOPT_MAXREDIRS, 8);
|
curl_setopt($ch, CURLOPT_MAXREDIRS, 8);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
@ -36,6 +36,31 @@ class Network
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function testURL(string $url, int $timeout = 20): bool
|
||||||
|
{
|
||||||
|
$ch = curl_init($url);
|
||||||
|
if (!$ch) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
curl_setopt($ch, CURLOPT_HEADER , 0);
|
||||||
|
curl_setopt($ch, CURLOPT_TIMEOUT , max($timeout, 1)); //Minimum of 1 second timeout.
|
||||||
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||||
|
curl_setopt($ch, CURLOPT_MAXREDIRS , 8);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
|
||||||
|
curl_setopt($ch, CURLOPT_NOBODY , true);
|
||||||
|
|
||||||
|
curl_exec($ch);
|
||||||
|
|
||||||
|
$responseCode = intval(curl_getinfo($ch, CURLINFO_RESPONSE_CODE));
|
||||||
|
|
||||||
|
$testSuccess = curl_errno($ch) === 0 && $responseCode < 400;
|
||||||
|
|
||||||
|
curl_close($ch);
|
||||||
|
|
||||||
|
return $testSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a hostname is public and non-reserved
|
* Check if a hostname is public and non-reserved
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue