Saltar al contenido

php curl_exec devuelve vacío

Posteriormente a investigar con especialistas en esta materia, programadores de diversas ramas y profesores hemos dado con la respuesta al problema y la dejamos plasmada en este post.

Solución:

curl_exec volverá false cuando la solicitud falló. Ajuste su función a esto:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy); // $proxy is ip of proxy server
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

$httpCode = curl_getinfo($ch , CURLINFO_HTTP_CODE); // this results 0 every time
$response = curl_exec($ch);

if ($response === false) 
    $response = curl_error($ch);

echo stripslashes($response);

curl_close($ch);

De esta manera verás el error curl

Tratar:

curl_setopt($ch, CURLOPT_TIMEOUT, 50);

Tal vez la respuesta sea más larga que 10.

Tuve el mismo problema, lo resolví así.

Está intentando acceder a un código de respuesta HTTP antes de realizar la llamada HTTP. Invierta la ejecución de la siguiente manera:

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch , CURLINFO_HTTP_CODE); // this results 0 every time

Comentarios y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *