Uso de cURL en PHP


cURL es una herramienta para usar en un intérprete de comandos para transferir archivos con sintaxis URL, soporta FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE y LDAP. cURL soporta certificados HTTPS, HTTP POST, HTTP PUT, subidas FTP, Kerberos, subidas mediante formulario HTTP, proxies, cookies, autenticación mediante usuario+contraseña (Basic, DIgest, NTLM y Negotiate para HTTP y kerberos4 para FTP), continuación de transferencia de archivos, tunneling de proxy http y muchas otras prestaciones. De Wikipedia

cURL ofrece miles de usos, normalmente en el ámbito de desarrollo web se usa para trabajar con APIs, extraer información concreta en webs, etc. Manos al código:

//Iniciamos cURL
$ch = curl_init();
//Especificamos en la variable url el sitio al cual nos vamos a conectar
$url = "https://www.brianur.info";
//Accedemos al sitio
curl_setopt($ch,CURLOPT_URL,$url);
/*CURLOPT_RETURNTRANSFER se usa para almacenar el valor de curl_exec
en una variable, en este caso es false porque queremos que se imprima
el resultado en pantalla en vez de almacenarlo en la variable*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
/*Opcionalmente en caso de que la web requiera iniciar sesion, se puede
hacer uso de CURLOPT_COOKIE*/
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=cookie;');
//Como opción podemos indicar un Usear Agent
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows
 NT 6.1; es-ES; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
//Ejecutamos y imprimimos
echo curl_exec($ch);
//Opcionalmente cerramos la conexión.
curl_close($ch);

Al probar este código debería aparecer este blog tal cual, ya que aun no le indicamos exactamente qué información extraer. Si te das cuenta es bastante sencillo el uso de cURL. También CURLOPT tiene más cosas interesantes:

CURLOPT_REFERER: Para enviar un sitio como referido.
CURLOPT_PROXY: Uso de Proxy para hacer las peticiones.
CURLOPT_CONNECTTIMEOUT: Tiempo máximo para hacer la conexión.
CURLOPT_HTTPHEADER: Permite enviar las cabeceras en un array.

  1 Comentario

Deja una respuesta

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