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.
Muy bueno, estaré leyendo sobre eso.
Saludos!