Alojamiento con cURL
07:54, 30.11.2022
Si ha decidido automatizar la transmisión de datos en la red utilizando diversos protocolos, este artículo le ayudará. Este software funciona con protocolos:
- FTP;
- FTPS;
- HTTP;
- HTTPS;
- TFTP;
- SCP;
- SFTP;
- Telnet;
- DICT;
- LDAP;
- POP3;
- IMAP;
- SMTP.
Trabajar con cURL sólo es posible a través de la línea de comandos, ya que no hay interfaz de usuario. También es posible utilizarlo como un módulo adicional para cualquier lenguaje de programación con el que se trabaje.
Características de la biblioteca cURL
La utilidad está disponible para todos los sistemas operativos modernos basados en Unix. Este comando se utiliza para recuperar datos de una URL determinada o para transferir datos a través de los protocolos mencionados anteriormente. La utilidad requiere la biblioteca API Libcurl - es necesaria para proporcionar la capacidad de transferir archivos a múltiples aplicaciones.
Libcurl es una biblioteca de código abierto robusta y portátil que puede integrarse fácilmente en cualquier aplicación. El propio comando cURL puede utilizarse en la mayoría de las distribuciones de Linux para este fin:
- Pruebas de la API.
- Utilización de scripts de shell internos.
- Posibilidad de acceder a los archivos sin necesidad de un navegador.
El paquete puede utilizarse tanto con fines comerciales como no comerciales: el código fuente es abierto y el software es de libre distribución.
Instalación de cURL
Los usuarios de Windows deben instalar primero el módulo PHP, ya que no funcionará sin él. A continuación, para instalar cURL, tiene que descargar el instalador desde la página oficial de los desarrolladores. Simplemente seleccione la versión adecuada para su sistema operativo y luego instálela.
Para cualquier otro sistema operativo, también puede encontrar el instalador en la lista correspondiente. Existen versiones para Linux, FreeBSD, DOS, Debian, Ubuntu, Fedora y muchos otros sistemas operativos, tanto libres como dirigidos a la empresa.
Cómo trabajar con cURL
Hay muchos comandos que esta utilidad entiende. Hay tantos que es físicamente imposible abarcarlos todos - eso requeriría una documentación detallada de varias páginas. Puede encontrarlo en foros dedicados o en el sitio web de los desarrolladores, revisemos la sintaxis. Es bastante sencillo y tiene el siguiente aspecto:
$ curl опции ссылка
Lo que es un enlace es evidente, pero las opciones posibles son muchas:
- -# - mostrar el progreso de la descarga;
- -0 - cambiar al protocolo HTTP 1.0;
- -1 - iniciar el uso del protocolo de encriptación tlsv1;
- -2 - cambiar a sslv2;
- -3 - cambiar a sslv3;
- -4 - cambiar a ipv4;
- -6 - cambiar a ipv6;
- -A - especificar su USER_AGENT;
- -b - guardar la cookie como un archivo;
- -c - para transferir las cookies al servidor desde un archivo;
- -C - reanudar la descarga del archivo desde el lugar donde se ha roto el archivo o desde el desplazamiento especificado;
- -m - limitar el tiempo de espera de la respuesta del servidor;
- -d - transmitir datos por el método POST;
- -D - guardar las cabeceras devueltas por el servidor en un archivo;
- -e - establecer el campo Referer-uri, especifica de qué sitio vino el usuario;
- -E - iniciar el uso del certificado SSL externo;
- -f - prohibir a mostrar mensajes de tipo Error;
- -F -transmitir los datos como un formulario;
- -G - la activación de esta opción hace que todos los datos especificados en la opción -d sean enviados por GET;
- -H -enviar cabeceras al servidor;
- -I -recibir cabecera HTTP ignorando el contenido de la página;
- -j - leer y enviar la cookie desde el archivo;
- -J - eliminar la cabecera de la solicitud;
- -L - recibir y manejar redirecciones;
- -s - mostrar el número máximo de redireccionamientos con Ubicación;
- -o - enviar el contenido de la página a un archivo;
- -O - almacenar el contenido en un archivo con nombre de página o archivo en el servidor;
- -p - usar proxy;
- -proto - permite establecer el protocolo de transferencia preferido;
- -R -almacenar la hora de la última modificación de un archivo borrado;
- -s - minimizar los mensajes de error;
- -S - mostrar los mensajes de error;
- -T - subir el archivo al servidor;
- -v - obtener el máximo detalle posible;
- -y - minimizar la velocidad de subida;
- -Y - máxima velocidad de descarga;
- -V - mostrar versión.
Como puede ver, la sintaxis de cURL distingue entre mayúsculas y minúsculas, así que tenga cuidado.
Ejemplos de uso de cURL en PHP
Lo más fácil de hacer con Libcurl es implementar la generación de peticiones POST. Todo lo que hay que hacer es iniciar una sesión cURL, establecer las opciones necesarias y luego ejecutar la solicitud. He aquí un ejemplo sencillo y directo:
<?php // Поиск книг на сервере amazon.com $url = "http://www.amazon.com/exec/obidos/search-handle-form/002-5640957-2809605"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); // set url to post to curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s curl_setopt($ch, CURLOPT_POST, 1); // set POST method curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // add POST fields $result = curl_exec($ch); // run the whole process curl_close($ch); echo $result; ?> <?php // HTTP authentication $url = "http://www.example.com/protected/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword"); $result = curl_exec($ch); curl_close($ch); echo $result; ?> <?PHP // FTP this script to a server $fp = fopen(__FILE__, "r"); $url = "ftp://username:password@mydomain.com:21/path/to/newfile.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_FTPASCII, 1); curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__)); $result = curl_exec($ch); curl_close($ch); ?>
Para entender mejor el funcionamiento de cURL, recomendamos consultar la documentación oficial de los desarrolladores o pedir aclaraciones a los administradores de sistemas con experiencia. Con esto concluye nuestro artículo y ¡gracias por su atención!