CURL

cURL
Logo
voorbeelduitvoer van curl -O
Ontwerper(s) Daniel Stenberg.[1]
Ontwikkelaar(s) Bijdragers aan het cURL-project.
Uitgebracht 1997[2] (27 jaar)
Recentste versie 8.8.0 (22 mei 2024)[3][4] Bewerken op Wikidata
Status Actief
Besturingssysteem AIX, AmigaOS, BeOS, BeOS, Chrome NaCl, DOS, DragonFly BSD, FreeBSD, GNU-Darwin, HPUX, Haiku, Hurd, IRIX, Linux, macOS, MiNT, Midnight BSD, Minix, NetBSD, NetWare, Nexenta, OS/2, Open Server, OpenBSD, Plan9, QNX, RISC OS, Solaris, Syllable, Tru64 UNIX, UnixWare, VMS, Windows
Geschreven in C.
Categorie FTP-client
HTTP-client
Licentie(s) Vrije Software: https://curl.haxx.se/docs/copyright.html MIT/X afgeleide licentie
Versiebeheer
  • github.com/curl/curl Bewerk dit op Wikidata
Website (en) Officiële webpagina
Portaal  Portaalicoon   Informatica
Vrije software

Het softwareproject cURL (uitgesproken als 'curl'[5]) biedt een bibliotheek en command-linetool voor het downloaden of uploaden van gegevens met verschillende protocollen.

Het cURL-project produceert twee producten: libcurl en cURL. Het werd voor het eerst uitgebracht in 1997. De naam staat voor "Client URL".[6] De oorspronkelijke auteur en lead developer is de Zweedse ontwikkelaar Daniel Stenberg.[1]

libcurl

Libcurl is een bibliotheek voor clients, bedoeld voor gegevensoverdracht via een URL,[7] ondersteunende cookies, DICT, FTP, FTPS, Gopher, HTTP (met HTTP/2-ondersteuning), proxyservers, HTTPS, IMAP, Kerberos, LDAP, POP3, RTSP, SCP en SMTP. De bibliotheek ondersteunt het URI-bestandsschema, SFTP, Telnet, TFTP, bestandsoverdrachtpauzering en -hervatting (tijdens een download), uploaden met FTP, HTTP-formulier-gebaseerde upload, HTTPS-certificaten, LDAPS, proxy's en gebruiker-plus-wachtwoordverificatie.

De libcurl-bibliotheek is portable; het bouwt en werkt identiek op vele platforms, waaronder AIX, AmigaOS, Android, BeOS, BlackBerry Tablet OS en BlackBerry 10,[8] 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 en Windows.

De bibliotheek is vrij, thread-safe en IPv6-compatibel. De taalbindings zijn beschikbaar voor meer dan 40 programmeertalen, waaronder C/C++, Java, PHP en Python.

De libcurl-bibliotheek kan axTLS,[9] GnuTLS, mbed TLS, NSS, QSOSSL op IBM i, SChannel op Windows, Secure Transport op macOS en iOS, SSL/TLS via OpenSSL en wolfSSL.

cURL

CURL is een command-line programma voor het verkrijgen of verzenden van bestanden met behulp van URL-syntaxis.

Aangezien cURL libcurl gebruikt, ondersteunt het een reeks veelgebruikte internetprotocollen, waaronder (momenteel) HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP en RTSP (de laatste vier alleen in versies nieuwer dan 7.20.0 of 9 februari 2010).

CURL ondersteunt HTTPS en voert standaard SSL-certificaatverificatie uit wanneer een veilig protocol zoals HTTPS wordt gespecificeerd. Wanneer cURL verbinding maakt met een externe server via HTTPS, zal het het certificaat van de externe server verkrijgen en vervolgens de geldigheid van de externe server vergelijken met zijn CA-certificaat om er zeker van te zijn dat de externe server de server is die hij beweert te zijn.

Sommige cURL-pakketten zijn gebundeld met een CA-certificaatopslagbestand. Er zijn verschillende opties om een CA-certificaat te specificeren, zoals --cacert en --capath. De optie --cacert kan gebruikt worden om de locatie van het CA-certificaatopslagbestand te specificeren. Op Windows zal cURL, als er geen CA-certificaatbestand is gespecificeerd, zoeken naar een CA-certificaatbestand met de naam "curl-ca-bundle.crt" in de volgende volgorde:

  1. Directory waar het cURL-programma zich bevindt.
  2. Huidige werkmap.
  3. Windows-systeemdirectory.
  4. Windows-directory.
  5. Directory's gespecificeerd in de %PATH%-omgevingsvariabelen.[10]

CURL geeft een foutmelding als de externe server een zelfondertekend certificaat gebruikt of als het certificaat van de externe server niet is ondertekend door een CA die in het CA-certbestand staat vermeld. De optie -k of --insecure kan worden gebruikt om certificaatverificatie over te slaan. Als de externe server wordt vertrouwd, kan het CA-certificaat van de externe server worden toegevoegd aan het CA-certificaatopslagbestand.

Zie ook

Externe links

  • (en) Officiële webpagina
  • Vergelijking van cURL vs andere open source download tools
  • Vergelijking van cURL vs wget
Bronnen
  • Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel cURL op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.

Referenties

  1. a b curl, vandaag 17 jaar oud. daniel.haxx.se (20 maart 2015). Geraadpleegd op 20 maart 2015.
  2. History of curl - How curl Became Like This. curl. Gearchiveerd op 30 september 2017. Geraadpleegd op 17 november 2016. "(vertaling naar het Nederlands) Daniel heeft eenvoudigweg een bestaande command-line open-source tool, httpget, overgenomen die de Braziliaanse Rafael Sagula had geschreven en onlangs versie 0.1 van heeft uitgegeven. Na een paar kleine aanpassingen deed het precies wat hij nodig had. …] HttpGet 1.0 werd uitgebracht op 8 april 1997 met gloednieuwe HTTP-proxyondersteuning."
  3. Release 8.8.0 (22 mei 2024). Geraadpleegd op 22 mei 2024.
  4. Daniel Stenberg, curl 8.8.0 (22 mei 2024). Geraadpleegd op 24 mei 2024.
  5. cURL - Frequently Asked Questions
  6. (en) Stenberg, Daniel, Oorsprong van de naam (Website=curl.haxx.se/). Gearchiveerd op 27 juni 2018. Geraadpleegd op 25 april 2018.
  7. Jones, M. Tim, Omgekeerd via het internet met cURL en libcurl - Libcurl gebruiken met C en Python. IBM Developerworks (8 september 2009). Gearchiveerd op 14 april 2015. Geraadpleegd op 12 september 2018.
  8. Open Source Componenten voor de Native SDK voor BlackBerry Tablet OS
  9. axTLS
  10. (en) cURL - Protocol docs - SSL Certificaat Verificatie