La mayor ventaja de PHP cURL es su capacidad para gestionar diversas ne­ce­si­da­des de tra­n­s­fe­re­n­cia de datos y in­te­grar­se sin problemas con las API. En este artículo, apre­n­de­rás más sobre la sintaxis y el fu­n­cio­na­mie­n­to de PHP cURL.

¿Qué es PHP cURL?

PHP cURL, abre­via­tu­ra de “Curl URL Request Library”, es una extensión de PHP. Ofrece una manera de enviar pe­ti­cio­nes HTTP y co­mu­ni­car­se uti­li­za­n­do di­fe­re­n­tes pro­to­co­los de red, in­clu­ye­n­do HTTP, HTTPS y FTP. Con cURL, puedes ajustar y gestionar en­ca­be­za­dos, pa­rá­me­tros y datos para sa­ti­s­fa­cer las ne­ce­si­da­des de las API.

¿Cómo instalar PHP cURL?

Para utilizar cURL en PHP, no­r­ma­l­me­n­te no tienes que instalar cURL por separado, ya que viene como una extensión integrada. Sin embargo, asegúrate de que la extensión cURL está activada en tu co­n­fi­gu­ra­ción de PHP. Puedes confirmar la fu­n­cio­na­li­dad de cURL creando un archivo PHP y eje­cu­ta­n­do en él el siguiente código:

phpinfo();
php

En la página generada, busca soporte cURL o in­fo­r­ma­ción similar para ver si PHP cURL está activado. Si cURL no está activado, tendrás que editar el archivo php.ini. Allí, localiza la expresión ;extension=php_curl.dll para cURL en Windows o ;extension=curl para cURL en Linux. Para activar la extensión cURL, elimina el punto y coma “;” que precede a la línea. Guarda el archivo y, para que los cambios surtan efecto, reinicia el servidor web.

Aprende las bases más im­po­r­ta­n­tes de la pro­gra­ma­ción en PHP en nuestro tutorial de PHP, esencial para utilizar cURL. Para saber más sobre las ventajas y de­s­ve­n­ta­jas del lenguaje de pro­gra­ma­ción PHP, puedes consultar las co­m­pa­ra­cio­nes entre PHP vs. Python y PHP vs. Ja­va­S­cri­pt en la Digital Guide de IONOS.

La sintaxis de PHP cURL

La sintaxis de PHP cURL consta de varias funciones y opciones para co­n­fi­gu­rar una sesión cURL, realizar consultas y trabajar con los re­su­l­ta­dos.

Paso 1: ini­cia­li­za una sesión cURL

$curl = curl_init();
php

Paso 2: configura las opciones

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // defines the URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // sets the result of the query as return value
php

Paso 3: ejecuta la petición cURL

$response = curl_exec($curl);
php

Paso 4: cierra la sesión cURL

curl_close($curl);
php
Consejo

Deploy Now de IONOS acelera tus ciclos de de­sa­rro­llo y minimiza el tiempo de inac­ti­vi­dad. Descubre es­tra­te­gias de de­sa­rro­llo flexibles para tus proyectos web con Deploy Now.

¿Qué funciones cURL existen en PHP?

Hay di­s­po­ni­bles varias funciones PHP para crear so­li­ci­tu­des HTTP o subir archivos. También es posible utilizar PHP para recuperar in­fo­r­ma­ción de una base de datos MySQL y enviarla como JSON a través de cURL.

Estas son algunas de las funciones cURL más im­po­r­ta­n­tes en PHP:

  • curl_init: ini­cia­li­za una nueva sesión cURL y devuelve un gestor cURL.
  • curl_setopt: establece opciones para la sesión cURL. Aquí se es­ta­ble­cen pa­rá­me­tros como la URL, los headers o los métodos de au­te­n­ti­ca­ción. También puedes utilizar PHP cURL para es­pe­ci­fi­car los datos POST que se enviarán al servidor.
  • curl_exec: ejecuta la sesión cURL y devuelve la respuesta en forma de cadena.
  • curl_close: cierra la sesión cURL y libera los recursos.
  • curl_setopt_array: define un conjunto de opciones cURL en una sola llamada.
  • curl_getinfo: devuelve in­fo­r­ma­ción sobre la última sesión cURL, como la URL o el código de estado HTTP.
  • curl_error: devuelve el mensaje de error de la última petición cURL.
  • curl_errno: devuelve el código de error de la última petición cURL.
  • curl_multi_init: ini­cia­li­za un gestor multi-cURL que te permite hacer varias pe­ti­cio­nes cURL al mismo tiempo.
  • curl_multi_add_handle: añade una sesión cURL a un gestor multi-cURL.
  • curl_multi_exec: ejecuta las pe­ti­cio­nes multicURL.
  • curl_multi_ge­t­co­n­te­nt: devuelve el contenido de la respuesta de una sesión cURL dada en el gestor multi-cURL.
API gratuita de IONOS
Ad­mi­ni­s­tra tus productos de Hosting a través de nuestra Interfaz de Pro­gra­ma­ción de Apli­ca­cio­nes (API)
  • Registros DNS
  • Ad­mi­ni­s­tra­ción SSL
  • Do­cu­me­n­ta­ción API

Un ejemplo de uso de cURL en PHP

Creando tus propias clases PHP, puedes hacer el código más modular, definir métodos re­uti­li­za­bles y si­m­pli­fi­car la im­ple­me­n­ta­ción de PHP cURL en tus apli­ca­cio­nes.

He aquí un ejemplo de lo que podría ser una clase PHP junto con PHP cURL GET:

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // Further configurations can be made here
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Using your own class
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Output of the data with PHP operators
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

En este ejemplo creamos la clase My­Cu­r­l­Clie­nt que gestiona una sesión PHP cURL en su co­n­s­tru­c­tor. El método se­n­dRe­que­st() toma una URL, configura las opciones cURL y ejecuta la petición HTTP GET. Las cadenas de salida se co­n­ca­te­nan uti­li­za­n­do ope­ra­do­res PHP. Por último, uti­li­za­mos la función close() para finalizar la sesión cURL.

IONOS Cloud Object Storage
Al­ma­ce­na­mie­n­to seguro, escalable y rentable

Obtén el mejor precio en Object Storage de alta gama. Reduce costos sin co­m­pro­me­ter la potencia, al tiempo que proteges tus datos con se­r­vi­do­res de alta seguridad y control de acceso in­di­vi­dual.

Ir al menú principal