This page was exported from Recursos para programadores [ https://eldesvandejose.com ]
Export date: Mon Sep 23 18:26:12 2019 / +0000 GMT

Inicializar cURL en PHP



cURL Ahora que ya tenemos una idea de lo que es cURL, vamos a ver como emplearlo desde PHP para leer o escribir datos desde nuestra aplicación en un servidor remoto al que podamos acceder por alguno de los protocolos que cURL emplea. Como hemos visto en el artículo anterior, son suficientes para cubrir casi cualquier necesidad que se nos pueda presentar. Y digo casi, porque siempre habrá algún repositorio de datos antiguo que use algún protocolo descatalogado, en alguna parte. Con eso no se puede luchar. Afortunadamente, no es el caso habitual. En desarrollo web se tiende, cada vez más, a usar estándares aprobados por el consorcio y aceptados por la comunidad (por suerte).

INICIALIZAR UN RECURSO cURL

Para poder usar la librería, debemos crear un recurso que haga uso de las prestaciones de PHP para la gestión de cURL. Un recurso es un manejador, como los que se emplean para lectura o escritura de ficheros, o para conexión con bases de datos, etc, sólo que orientado, específicamente, a la librería cURL.

Para crear este recurso, y configurarlo adecuadamente para que funcione necesitamos contar con los siguientes datos:

Llegados a este punto, podemos empezar definiendo estos valores, que usaremos para la conexión, así:

<?php
    $protocol = 'ftps:'; // Protocolo del servidor remoto
    $server = '245.245.245.245'; // IP del servidor remoto
    $port = 990; // Puerto de datos del servidor remoto
    $path = ''; // Ruta del servidor donde leeremos o escribiremos
    $pasive = true; // Un servidor pasivo
    $username = 'UsuarioAutorizado'; // El nombre de usuario con el que conectar al servidor remoto
    $password = 'password'; // La contraseña de acceso al servidor remoto
    $initial_path = '' // La ruta base en la que vamos a trabajar en el servidor remoto

El siguiente paso es determinar la URL del servidor remoto, a partir del protocolo, el servidor y la ruta dentro de este en la que trabajaremos, así:

    $url = $protocol.'//{'.$server.'}/{'.$initial_path.'}';

Llegados a este punto, creamos el manejador, a través del cual gestionaremos la librería cURL, así:

    $curl_handle = curl_init();

El método curl_init() es nativo de PHP. La sintaxis permite escribirlo sin argumentos, o poner, como único argumento, la variable $url que hemos definido antes. Sin embargo, esta también puede fijarse como opción, si no se incluye como argumento. Nosotros vamos a hacerlo así, por lo que el método lo ponemos vacío. En cualquier caso, ya se ha creado el manejador, y se ha almacenado en la variable $curl_handle.

CONFIGURANDO cURL

Una vez creado el manejador debemos configurar la conexión por cURL. Para ello existen una serie de opciones proporcionadas por PHP. Aquí vamos a ver qué son esas opciones, y cómo establecerlas.

Las opciones de cURL se identifican mediante unos nombres que empiezan con el prefijo CURLOPT_. A estas opciones se les asignan unos valores cuya naturaleza, tipo o estructura dependerá de cada opción específica. Sin embargo, la forma de establecer los valores necesarios en cada opción es, siempre, mediante el método curl_setopt(), que recibe tres argumentos: el primero es el recurso, o manejador, que hemos creado con curl_init(). Los otros dos argumentos son el nombre de la opción a establecer, y el valor que queremos darle.

La primera opción que tenemos que establecer (y hablamos de "opción" pero esta no es, en modo alguno, opcional), es CURLOPT_USERPWD. Le pasaremos el nombre de usuario y la contraseña de acceso al servidor remoto. Con las variables de ejemplo que hemos puesto más arriba, nos quedaría algo así:

curl_setopt($curl_handle, CURLOPT_USERPWD, $username.':'.$password);

Otras opciones que se emplean con mucha frecuencia, y que vamos a ver en los ejemplos de estos artículos, son las siguientes:

Existen muchas más opciones que podemos configurar, pero las que hemos visto aquí son las más habituales en la mayoría de los casos. La lista completa puedes verla en este enlace.

Este artículo se hace ya demasiado largo. En el siguiente continuaremos viendo el uso de cURL en PHP, así como algunas opciones más que hemos aplazado a propósito, para hablar de ellas en su contexto.

 

 


Post date: 2019-07-31 18:13:05
Post date GMT: 2019-07-31 18:13:05
Post modified date: 2019-07-31 18:13:06
Post modified date GMT: 2019-07-31 18:13:06

Powered by [ Universal Post Manager ] plugin. MS Word saving format developed by gVectors Team www.gVectors.com