Skip to content
EntityQ286306· pop 30· linked from 218 articles

Also known as Client for URLs

cURL (pronounced like "curl", ) is a free and open source CLI app for uploading and downloading individual files. It can download a URL from a web server over HTTP, and supports a variety of other network protocols, URI schemes, multiple versions of HTTP, and proxying. The project consists of a library (libcurl) and command-line tool (curl), which have been widely ported to different computing platforms. It was created by Daniel Stenberg, who is still the lead developer of the project.

Key facts

Software.name
curl
Software.logo
Curl-logo.svg
Software.author
Daniel Stenberg
Software.developer
Contributors to the curl project
Software.programming language
C
Software.platform
29 platforms (see for details)
Software.genre
Web client (supports e.g. HTTPS, and FTP)
Software.license
curl license (inspired by the MIT License) and a fraction uses the ISC

via Wikipedia infobox

Described at

curl vs Wget

daniel.haxx.se

pipes : curl works more like the traditional Unix cat command, it sends more stuff to stdout, and reads more from stdin in a "everything is a pipe" manner. Wget is more like cp, using the same analogue. Single shot : curl is basically made to do single-shot transfers of data. It transfers just the URLs that the user specifies, and does not contain any recursive downloading logic nor any sort of HTML parser. More protocols : curl supports FTP(S), GOPHER(S), HTTP(S), SCP, SFTP, TFTP, TELNET, DICT, LDAP(S), MQTT, FILE, POP3(S), IMAP(S), SMB(S), SMTP(S), RTMP, RTSP and WS(S). Wget only supports HTTP(S) and FTP. More portable : curl builds and runs on lots of more platforms than Wget. For example: OS/400, TPF and other more "exotic" platforms that aren't straight-forward Unix clones. curl requires but a C89 compiler. More SSL libraries and SSL support: curl can be built with one out of eleven (11!) different SSL/TLS libraries, and it offers more control and wider support for protocol details. HTTP auth : curl supports more HTTP authentication methods, especially over HTTP proxies: Basic, Digest, NTLM, Negotiate and AWS v4 signatures. SOCKS : curl supports SOCKS4 and SOCKS5 for proxy access. With local or proxy based name resolving. curl supports HTTPS proxy , that is HTTPS to the proxy. Wget does not. Bidirectional : curl offers upload and sending capabilities. Wget only offers plain HTTP POST support. curl supports gzip, brotli, zstd and deflate Content-Encoding and does automatic decompression . Much more developer activity . While this can be debated, I consider three metrics here: mailing list activity, source code commit frequency and release frequency. Anyone following these two projects can see that the curl project has a lot higher pace in all these areas, and it has been so for 15+ years. Compare on openhub . Wget supports only Basic auth as the only auth type over HTTP proxy. Its ability to recover from a prematurely broken transfer and continue downloading has no counterpart in curl. There's a 'Wget' in BusyBox, there's no curl there (it is not the actual Wget, just a stripped down clone with the same name). Wget has (recursive) downloading powers that curl does not feature and it also handle download retries over unreliable connections possibly slightly more effective. For just about everything else, curl is probably the more suitable tool. In recent years, Wget2 is worked on to become the replacement for Wget. This comparison will eventually get Wget2 details as well. Two other capable tools with similar feature set include aria2 and axel try them out! wcurl is a tool by the curl project that like Wget can download URLs without needing any additional options.

Excerpt from a page describing this subject · 7,661 chars · not written by Vinony

Source code

curl is a command-line tool for transferring data from or to a server using URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. Learn how to use curl by reading the man page or everything curl. For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.

Excerpt from the source-code README · 2,078 chars · not written by Vinony

Wikidata facts

Official name
urlget
Official website
curl.haxx.se
Image
CURL example screenshot.png
Show 12 more facts
software version identifier
8.18.0
source code repository URL
git://github.com/curl/curl.git
Commons category
Curl
publication date
1997-00-00
inception
1996-11-11
user manual URL
curl.se/docs
IRC channel URL
irc://irc.freenode.net/curl
Sources (13)

via Wikidata · CC0

~7 min read

Article

9 sections
Contents
  • History
  • Components
  • libcurl
  • curl
  • tiny-curl
  • Licensing
  • See also
  • References
  • External links

cURL (pronounced like "curl", ) is a free and open source CLI app for uploading and downloading individual files. It can download a URL from a web server over HTTP, and supports a variety of other network protocols, URI schemes, multiple versions of HTTP, and proxying. The project consists of a library (libcurl) and command-line tool (curl), which have been widely ported to different computing platforms. It was created by Daniel Stenberg, who is still the lead developer of the project.

==History== The software was first released in 1996, originally named httpget and then became urlget, before adopting the current name of curl. The name stands for "Client and URL". The original author and lead developer is the Swedish developer Daniel Stenberg, who created curl to power part of an IRC bot, because he wanted to automatically provide currency exchange rates, fetched from a website, to users in an IRC chat room.

Connections

Categories