200 CÓDIGO HTTP en cadenas no url
-
30-09-2019 - |
Pregunta
$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch=curl_init();
curl_setopt ($ch, CURLOPT_URL,$url );
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_VERBOSE,false);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_SSLVERSION,3);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
$page=curl_exec($ch);
//echo curl_error($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
Estoy usando rizo en mi proyecto. Me estoy poniendo CÓDIGO HTTP de sitios web. Pero cuando intento "asdasd" ($ url = "asdasd"), volvió código HTTP es 200. Pero "asdasd" no es un sitio web. ¿Por qué código HTTP es 200?
Solución
Es posible que desee comprobar el valor de retorno de curl_exec
primero. Se dice en el manual de :
Devuelve
TRUE
en el éxito oFALSE
en caso de fallo. Sin embargo, si elCURLOPT_RETURNTRANSFER
es seleccionada, esta función devuelve el resultado en caso de éxito,FALSE
en caso de fallo.
Para curl_getinfo
hay un nota al margen :
La información recogida por esta función se mantiene si el mango es reutilizada. Esto significa que a menos que una estadística es reemplazado internamente por esta función, la información anterior se devuelve.
Para que HTTP 200 podría ser el resultado de una invocación cURL anterior.
Otros consejos
Otro posible error puede ocurrir si se desarrollan en el local y se utilizan servicios de DNS personalizadas administradas, entonces es probable que pueda obtener algunas páginas de error administrados como OpenDNS está haciendo.