Libreria Curl
Posted on May 15th, 2006 in Artículos, Programación |
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
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%

