Si se conecta con el servidor, puede obtener un código de retorno, de lo contrario, fallará y obtendrá un 0. Por lo tanto, si intenta conectarse a "www.google.com/lksdfk" obtendrá un código de retorno de 400, si vas directamente a google.com, obtendrás 302 (y luego 200 si pasas a la página siguiente ... bueno, lo hago porque se reenvía a google.com.br, por lo que puede que no obtén eso), y si vas a "googlecom" obtendrás un 0 (no se encuentra el host), por lo que con el último, no hay nadie para devolver un código.
Probado usando el siguiente código.
<?php
$html_brand = "www.google.com";
$ch = curl_init();
$options = array(
CURLOPT_URL => $html_brand,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode != 200){
echo "Return code is {$httpCode} \n"
.curl_error($ch);
} else {
echo "<pre>".htmlspecialchars($response)."</pre>";
}
curl_close($ch);
También para refencing followlocation también, a veces recibo 301 que es un problema de redirección. – Ardeus
Es extraño aunque $ response tiene contenido html, pero el $ httpcode siempre devuelve 0, además el curl_error es nulo. lo que podría ser posible salió mal. Solo incluyo returntransfer, header (false), followlocation solo en la configuración. – Ardeus
¡muy útil! muchas gracias. –