FLOSS Weekly 51
Episode 51 |
Guest: Daniel Stenberg Topic: cURL Recorded: January 6th, 2009 Published: January 10th, 2009 Duration: 48:25 |
FLOSS Weekly 51: cURL
cURL, a command line tool for transferring files with URL syntax.
Guest
Daniel Stenberg for cURL
curl was started in 1997 by Daniel as part of a IRC bot. It was first
developed as a command line tool and later the libcurl library was build from
the network code.
curl can handle FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling.
There are about 10 core developer.
They have about a million downloads a year.
curl runs on all major operating systems (Windows, OSX, LINUX and lots of other UNIX variants) and on different CPU Architectures.
wget is a tool similar to curl.
curl allows you to use url globbing:
-g/--globoff
This option switches off the "URL globbing parser". When you set
this option, you can specify URLs that contain the letters {}[]
without having them being interpreted by curl itself. Note that
these letters are not normal legal URL contents but they should
be encoded according to the URI standard.
Use the remote filename to store the downloaded file
-O/--remote-name
Write output to a local file named like the remote file we get.
(Only the file part of the remote file is used, the path is cut
off.)
The remote file name to use for saving is extracted from the
given URL, nothing else.
You may use this option as many times as you have number of
URLs.
To show some extra informations about the download
-w/--write-out <format>
Defines what to display on stdout after a completed and success‐
ful operation. The format is a string that may contain plain
text mixed with any number of variables. The string can be spec‐
ified as "string", to get read from a particular file you spec‐
ify it "@filename" and to tell curl to read the format from
stdin you write "@-".
Projects that use curl:
curl is licensed under the MIT/X11
license.
The curl project uses CVS source code management system. Mostly because they rely on a custom testing tool that heavily integrates with cvs.
The developers communicate through Mailing Lists. The lists are also the main entry point for feature requests and new developers.
curl is written in C.
Daniel also works on the following projects:
There are more than 30 language bindings for all major programming languages. These bindings are developed as separate projects.
