cURLing up to file transfers
Gone Curling

© Lead Image © Oksana Kunka, 123RF.com
cURL is a powerful file transfer tool that is simple to learn but can get you in trouble if you don't keep track of your options.
First released in 1997, cURL (pronounced "see URL" or "curl") [1] is a relatively new tool for the command line. However, it quickly became a standard command-line tool as the need to transfer data between servers or from an Internet site grew. Moreover, copying a directory has become a standard way to install scripts written in interpretive programming languages like Python. Today, cURL is now included in the default installation of most Linux distributions. Functionally, it resembles wget
[2], although the two commands differ in syntax.
The basic structure of curl is simple, but can quickly become complex as you add options for the many transfer protocols it supports. Even the command's man page notes that "the number of features will make your head spin!" And, with cURL's proxy support, user authentication, FTP upload, HTTP POST, SSL connections, cookies, and file transfer resume, the complexity of its options can quickly become apparent.
Fortunately, however, many of cURL's options are designed for using specific protocols in specific circumstances and are often unnecessary. Moreover, some of the supported transfer protocols, like GOPHER and TELNET, are frankly obsolete, and many users are likely to use, if not the default HTTP, then HTTPS or SSH, with forays into FTP and one or two others.
[...]
Buy this article as PDF
(incl. VAT)