Libcurl es una librería que permite establecer conexiones y comunicación con diferentes protocolos como http, ftp, telnet, etc. Esta librería viene integrada con php. Si se esta sobre Windows se tiene que habilitar la extensión desde el php.ini.

http://curl.haxx.se/libcurl/php/install.html

Una vez habilitada podrás obtener contenido de sitios web permitiéndote utilizar muchas opciones diferentes incluyendo solicitudes POST y GET.

Lo primero para empezar a trabajar, es crear una instancia del recurso CURL.

$ch = curl_init ();

Después tenemos que configurarlo estableciéndole las opciones, empezando por la página.

curl_setopt ( $ch, CURLOPT_URL, http://www.google.com/ );

Después le pedimos que ejecute la solicitud. Nos traerá la página y se imprimirá. Para finalizar cerramos el recurso.

curl_exec ( $ch );

curl_close ( $ch );

En este caso la pagina será impresa, pero podemos pedir que nos regrese los datos en vez de imprimirlo mediante opción:

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );

Con lo que la función curl_exec regresara el contenido en una variable.

$output = curl_exec ( $ch );
A la cual le podremos aplicar otras funciones y procesar la información recibida ya sea para extraer o modificar contenido.
Podemos agregarle muchas otras funciones, por ejemplo

curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, true );

La cual permite al recurso, seguir los redirects que le sean enviados.

Podemos además enviar la solicitud como Post y establecer variables.

$data = array ( nombre => ? Pepe?, apellido => ‘Lopez’ );
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );

Podemos también establecer el nombre de un agente:

curl_setopt ( $ch, CURLOPT_USERAGENT, ‘MySpide/0.1′ );

Finalmente podemos conocer mas sobre la página con la función cur_getinfo

print_r (curl_getinfo ( $ch ));


<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$output = curl_exec($ch);

$respuesta = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($respuesta == ‘404′) {
        echo ‘404′;
} else {
        echo $output;
}

curl_close($ch);

?>

Puedes visitar nuestro foro si te quedan dudas o quieres compartir comentarios sobre esta librería.

Popularidad: 11%