Otra semana más volvemos con el curso de PHP, hoy nos vamos a dedicar a aprender algo sobre una librería muy interesante en PHP (también esta disponible en otros lenguajes).
Antes de empezar, recordaros que tenéis actualizado el índice del curso de PHP aquí.
La librería en cuestión de la que vamos a hablar es cURL.
¿Que es cURL y que hace?
cURL es una herramienta escrita para línea de comandos (consola) cuya principal funcionalidad es servir de puente entre un usuario y un protocolo de red(FTP,HTTPS,HTTP….).
De cURL nace la librearía libcurl que se puede usar en diversos lenguajes de programación como “wrapper” de cURL.
Empezamos:
Ya que ha sido explicado que es cURL, vamos a ver un sencillo ejemplo de que puede hacer cURL, para ello vamos a utilizar un código de ejemplo y explicaremos el mismo. Posteriormente nos meteremos un poco más con la utilización de cURL.
Vamos a hacer uso de cURL para simular las acciones de un navegador, ya que este es un uso bastante extendido de cURL.
Código:
[php]
$handler = curl_init("http://www.google.es");
curl_setopt($handler,CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0)Gecko/20100101 Firefox/13.0");
curl_setopt($handler,CURLOPT_HTTPHEADER,array("Accept-Language: es-es,en"));
$response = curl_exec($handler);
curl_close($handler);
echo $response;
?>
[/php]
El código realiza un trabajo bastante sencillo , una petición a Google. Para ello cURL utiliza los protocolos pertinentes «abstrayendo» al programador de ellos, ya que solo se debe conocer el uso de cURL.
Explicación del código:
Antes de leer esta parte del volumen intentad comprender el código y haceros una impresiones superficiales de lo que hace cada función, así la explicación se os hará mucho más fácil de entender.
Vamos con la explicación:
Bien la primera función que utilizamos curl_init(), lo que hace es básicamente establecer el servidor con el que va a interactuar la librería. Esta función devuelve un manejador con el que trataremos a partir de esa iniciación.
La función culr_setopt() es una función que se encarga de “ajustar” opciones asociadas a la conexión de cURL.
curl_exec($handler) ejecuta la conexión (con las opciones previamente seleccionadas) y recibe la respuesta.
El código en conjunto lo que hace es establecer una conexión/petición a Google, «simulando que es el navegador Firefox y que acepta lenguaje Español».
Un poco más en profundidad:
Como el resto de las funciones no tienen realmente mucha profundidad, vamos a ver más detalladamente la función curl_setopt(), ya que es la que más interesante y una de las más importantes.
La función mencionada recibe como argumentos el manejador de la sesión cURL, la opción y el valor a que se “seteará” la opción.
La lista de opciones puede verse completa en la documentación de PHP de la función no obstante si durante el curso se usa más , se explicará que hace cada opción.
Ha sido una entrada breve, pero por hoy es suficiente, intentad entender estos conceptos e ir haciendo algunos scripts con cURL (trasteando con las opciones).
En la siguiente entrega seguiremos viendo cosas relacionadas con cURL, y más concretamente sobre la interacción del protocolo HTTP y cURL, hasta entonces esperadnos.