PHP: verificare se una richiesta HTTP va in timeout

PHP: verificare se una richiesta HTTP va in timeout

In PHP possiamo verificare se una richiesta HTTP va in timeout con cURL.

Possiamo implementare la seguente logica:

function is_request_timed_out($url = '', $timeout = 5) {
    if(!filter_var($url, FILTER_VALIDATE_URL)) {
        throw new InvalidArgumentException('Invalid URL');
    }
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
        
        $resp = curl_exec($ch);
        $result = curl_errno($ch) === 'CURLE_OPERATION_TIMEDOUT';
        curl_close($ch);
        return $result;
}
Torna su