| Subcribe via RSS

cURL y PHP: hacer una llamada a una página en segundo plano

Noviembre 11th, 2008 Posted in php, programacion

Hace un par de días os hablaba de cURL. Hoy vamos a ver un sencillo ejemplo con esta librería.

En este ejemplo, vamos a conectarnos desde nuestro servidor con Google y vamos a pedirle que nos busque resultados que contengan la palabra ‘curl’:

<?
if(function_exists('curl_init')) // Comprobamos si hay soporte para cURL
{
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL,
		"http://www.google.es/search?hl=es&q=curl");
	curl_setopt($ch, CURLOPT_TIMEOUT, 30);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	$resultado = curl_exec ($ch);
 
	print_r($resultado);
}
else
	echo "No hay soporte para cURL";
?>

Lo primero que debemos hacer es iniciar la sesión cURL:

$ch = curl_init();

esto nos devuelve un “manejador” $ch que identifica a la sesión cURL recién creada.

Ahora vamos a indicarle cuál es la URL a la que nos queremos conectar:

curl_setopt($ch, CURLOPT_URL,
		"http://www.google.es/search?hl=es&q=curl");

En este caso vamos a realizar una búsqueda en google sobre el término ‘curl’.

Establecemos un tiempo máximo de respuesta:

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

Esta línea la veremos más abajo:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

Si en el servidor al que nos conectamos hubiese alguna redirección (código 302) y nos interesa seguirla entonces debemos decírselo a cURL:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

En este caso no es necesario, pero lo he dejado como nota didáctica.

Finalmente hacemos la llamada:

$resultado = curl_exec ($ch);

Como hemos establecido el parámetro CURLOPT_RETURNTRANSFER, curl_exec va a devolver la respuesta del servidor y la va a almacenar en la variable $resultado. Si no hubiésemos establecido ese parámetro curl_exec hubiese devuelto verdadero o falso dependiendo de si la operación se ha realizado con éxito.

Este es un ejemplo muy sencillo sin valor más allá del didáctico, pero puede tener muchas aplicaciones. Por ejemplo se puede usar en pasarelas de pago como PayPal para hacer una llamada en segundo plano al servidor.

Entradas relacionadas

  1. libCurl en PHP
  2. Qué hacer cuando una página en PHP aparece en blanco
  3. Primeros pasos con SVN (II)
  4. Python: Conectar a un servidor SSH
  5. PHP: Cambiar el set de caracteres en una consulta MySQL
Valoración:
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (Sin calificar)
Loading ... Loading ...

One Response to “cURL y PHP: hacer una llamada a una página en segundo plano”

  1. David Says:

    Mi pregunta es si con curl podemos, por ejemplo solo extraer el valor de una caja de texto o de una columna y mostrar la en una caja de texto de mi pagina web.


Leave a Reply