cURL (pronunciado 'curl' [4] ) es un proyecto de software de computadora que proporciona una biblioteca ( libcurl ) y una herramienta de línea de comandos ( curl ) para transferir datos usando varios protocolos de red . El nombre significa " URL del cliente ", [5] que se publicó por primera vez en 1997. [6]
Autor (es) original (es) | Daniel Stenberg [1] |
---|---|
Desarrollador (es) | Colaboradores del proyecto cURL |
Versión inicial | 1997 [2] |
Lanzamiento estable | 7.76.1 (14 de abril de 2021 [3] ) [±] |
Repositorio | |
Escrito en | C |
Sistema operativo |
|
Plataforma | Multiplataforma |
Tipo | Cliente FTP / Cliente HTTP |
Licencia | Software libre: licencia derivada de MIT / X |
Sitio web | rizo |
Historia
cURL se lanzó por primera vez en 1997. [6] Originalmente se llamaba httpget y luego se convirtió en urlget antes de adoptar el nombre actual de cURL. [7] [8] El autor original y desarrollador principal es el desarrollador sueco Daniel Stenberg , quien creó cURL porque quería automatizar la obtención de tipos de cambio de moneda para los usuarios de IRC . [2]
libcurl
libcurl es una biblioteca gratuita de transferencia de URL del lado del cliente , [9] que admite cookies , DICT , FTP , FTPS , Gopher , HTTP / 1 [10] (con soporte HTTP / 2 y HTTP / 3 ), HTTP POST , HTTP PUT , HTTP túnel de proxy , HTTPS , IMAP , Kerberos , LDAP , MQTT , POP3 , RTSP , RTMP , SCP , SMTP y SMB . La biblioteca admite el esquema de URI de archivo , SFTP , Telnet , TFTP , resumen de transferencia de archivos, carga de FTP, carga basada en formularios HTTP, certificados HTTPS, LDAPS, proxies y autenticación de usuario más contraseña. [11]
La biblioteca libcurl es portátil. Se construye y funciona de manera idéntica en muchas plataformas, incluidas AIX , AmigaOS , Android , BeOS , BlackBerry Tablet OS y BlackBerry 10 , [12] OpenVMS , Darwin , DOS , FreeBSD , HP-UX , HURD , iOS , IRIX , Linux , macOS , NetBSD , NetWare , OpenBSD , OS / 2 , QNX Neutrino , RISC OS , Solaris , Symbian , Tru64 , Ultrix , UnixWare y Microsoft Windows . [13]
La biblioteca libcurl es gratuita, segura para subprocesos y compatible con IPv6 . Los enlaces están disponibles para más de 50 idiomas , incluidos C / C ++ , Java , PHP y Python . [14]
La biblioteca libcurl admite GnuTLS , mbed TLS , NSS , gskit en IBM i , SChannel en Windows, Secure Transport en macOS e iOS, SSL / TLS a través de OpenSSL , Boringssl , libressl , AmiSSL , wolfSSL , BearSSL , Mesalink y rustls . [ cita requerida ]
rizo
cURL es una herramienta de línea de comandos para obtener o enviar datos, incluidos archivos, utilizando la sintaxis de URL . Dado que cURL usa libcurl, es compatible con todos los protocolos que admite libcurl. [11]
cURL admite HTTPS y realiza la verificación del certificado SSL de forma predeterminada cuando se especifica un protocolo seguro como HTTPS. Cuando cURL se conecta a un servidor remoto a través de HTTPS, obtendrá el certificado del servidor remoto, luego verificará con su certificado CA almacenar la validez del servidor remoto para asegurarse de que el servidor remoto es el que dice ser. Algunos paquetes cURL están empaquetados con el archivo de almacén de certificados de CA. Hay varias opciones para especificar un certificado de CA, como --cacert y --capacidad . La La opción --cacert se puede utilizar para especificar la ubicación del archivo de almacenamiento de certificados de CA. En la plataforma Windows, si no se especifica un archivo de certificado de CA, cURL buscará un nombre de archivo de certificado de CA "curl-ca-bundle.crt" en el siguiente orden:
- Directorio donde se encuentra el programa cURL.
- Directorio de trabajo actual.
- Directorio del sistema de Windows.
- Directorio de Windows.
- Directorios especificados en las variables de entorno% PATH%. [15]
cURL devolverá un mensaje de error si el servidor remoto está usando un certificado autofirmado o si el certificado del servidor remoto no está firmado por una CA que figura en el archivo de certificado de CA. -k o --la opción insegura se puede utilizar para omitir la verificación del certificado. Alternativamente, si el servidor remoto es de confianza, el certificado de CA del servidor remoto se puede agregar al archivo de almacenamiento de certificados de CA.
Ejemplos de
El uso básico de cURL implica simplemente escribir curl en la línea de comando, seguido de la URL de la salida para recuperar:
$ curl www.example.com
Por defecto, cURL muestra la salida que recupera en la salida estándar especificada en el sistema (normalmente la ventana de terminal). Por lo tanto, ejecutar el comando anterior, en la mayoría de los sistemas, mostraría el código fuente de www.example.com en la ventana de terminal. La marca -o se puede usar para almacenar la salida en un archivo en su lugar:
$ curl -o example.html www.example.com
Hay más opciones disponibles que cambian el comportamiento de la herramienta.
Ver también
- curl-loader : una herramienta de prueba de código abierto basada en cURL
- libwww : una de las primeras bibliotecas que viene con una interfaz de línea de comandos
- PowerShell : el iwr (Invoke-WebRequest) Windows PowerShell tenía una funcionalidad similar a curl; class Web-client también. [dieciséis]
- Rastreador web : un bot de Internet que puede rastrear la web
- Wget : herramienta de línea de comandos similar sin biblioteca asociada pero con capacidad de descarga recursiva.
Referencias
- ^ Stenberg, Daniel (20 de marzo de 2015). "curl, hoy 17 años" . daniel.haxx.se . Consultado el 20 de marzo de 2015 .
- ^ a b "Historia del rizo - cómo se convirtió el rizo así" . rizo. Archivado desde el original el 30 de septiembre de 2017 . Consultado el 17 de noviembre de 2016 .
Daniel simplemente adoptó una herramienta de código abierto de línea de comandos existente, httpget, que el brasileño Rafael Sagula había escrito y recientemente lanzó la versión 0.1 de. Después de algunos ajustes menores, hizo justo lo que necesitaba. […] HttpGet 1.0 fue lanzado el 8 de abril de 1997 con un nuevo soporte de proxy HTTP. […] Stenberg pasaba tiempo escribiendo un bot de IRC para un canal relacionado con Amiga en EFnet. Luego se le ocurrió la idea de poner a disposición de los usuarios de Internet Relay Chat (IRC) los cálculos de cambio de divisas.
- ^ "curl - Cambios" . curl . Consultado el 15 de abril de 2021 .
- ^ "curl - Preguntas frecuentes" . curl.se .
- ^ Stenberg, Daniel. "Origen del nombre" . curl.se . Consultado el 25 de abril de 2018 .
- ^ a b "cURL: docs / HISTORY.md | Fossies" . fossies.org . Consultado el 29 de septiembre de 2019 .
- ^ "Registro de cambios" . 4 de enero de 2020 . Consultado el 4 de enero de 2020 .
El primer lanzamiento de rizo. La herramienta se llamaba urlget antes de esto. Y httpget antes de eso.
- ^ Stenberg, Daniel (4 de enero de 2020). "Registro de cambios de curl completo restaurado" (html) . Haxx Se . Consultado el 2 de enero de 2020 .
- ^ Jones, M. Tim (8 de septiembre de 2009). "Conversar a través de Internet con cURL y libcurl - Usando libcurl con C y Python" . IBM Developerworks . Archivado desde el original el 14 de abril de 2015 . Consultado el 12 de septiembre de 2018 .
- ^ Stenberg, Daniel (5 de agosto de 2019). "http09: deshabilita HTTP / 0.9 de forma predeterminada tanto en la herramienta como en la biblioteca" . GitHub . Archivado desde el original (html) el 5 de agosto de 2019 . Consultado el 5 de agosto de 2019 .
Como se ha presentado el plan en Deprecated. Actualice los documentos en consecuencia y verifique en la prueba 1174.
- ^ a b "curl - Cómo utilizar" . curl.se .
- ^ "Componentes de código abierto para el SDK nativo para BlackBerry Tablet OS" . Archivado desde el original el 27 de enero de 2013 . Consultado el 19 de septiembre de 2017 .
- ^ "¡Tar y Curl vienen a Windows!" . techcommunity.microsoft.com . 22 de marzo de 2019.
- ^ "enlaces libcurl" . curl.se.
- ^ "curl - Certificados de CA SSL" . curl.se .
- ^ Del, Ryan (2 de marzo de 2018). "Comandi equivalente a cURL e Wget para la línea de comandos de Windows con Powershell" [comandos equivalentes a cURL y Wget para la línea de comandos de Windows con Powershell] (html) . Ryadel (en italiano) . Consultado el 4 de enero de 2020 .
Per emulare il comportamento del comando Linux cURL, è suficiente creare un file cURL.ps1 contenente la seguente riga di codice
enlaces externos
- Página web oficial
- Comparación de cURL frente a otras herramientas de descarga de código abierto
- Comparación de cURL vs wget