curl vs libcurl
Differences between curl and libcurl.
The different curls
The word 'curl' currently stands for about three different things (that is related to this subject), and I'll explain them in the order I think makes sense.
- curl is a command line tool. You run it from a shell command line or from within shell scripts or batch files. curl is made to transfer files to and from servers "on the internet" using any of the large amount of protocols curl supports. curl has existed since 1998 and offers more than one hundred command line options to control it.
- cURL (using one lowercase and three uppercase letters) is the name of a software project. This project produces two different "things". The curl tool and the libcurl library, both being open source.
- CURL is usually used as a name for the libcurl binding for PHP. This binding is what PHP users to access libcurl functions from within their PHP programs. Some PHP programs even say they use 'libcurl' when they in fact use this binding. In the cURL project, we try to refer to the PHP binding as PHP/CURL to make a clear distinction.
curl - the command line tool
- command line tool, you run it from a shell prompt or within a script
- offers more than 230 different command line options
- often scripted to simulate browsers etc
- provided for most operating systems
libcurl - the library
- development library for use in other programs
- used by many bindings for just about any language to can think of
- compiles and runs on just about all operating systems
- offers several different APIs and ways to use it