116
116
A free and easy-to-use client-side URL transfer library, supporting FTP,
117
FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. libcurl supports
118
HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP
119
form based upload, proxies, cookies, user+password authentication, file
120
transfer resume, http proxy tunneling and more!
117
FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE and LDAP. libcurl
118
supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos,
119
HTTP form based upload, proxies, cookies, user+password authentication,
120
file transfer resume, http proxy tunneling and more!
122
122
libcurl is highly portable, it builds and works identically on numerous
123
123
platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX,
132
132
A command line tool for getting or sending files using URL syntax.
134
134
Since curl uses libcurl, it supports a range of common Internet protocols,
135
currently including HTTP, HTTPS, FTP, FTPS, LDAP, DICT, TELNET and FILE.
135
currently including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DICT,
137
138
We pronounce curl and cURL with an initial k sound: [kurl].
157
158
1.3 What is curl not?
159
Curl is *not* a wget clone. That is a common misconception. Never, during
160
Curl is not a wget clone. That is a common misconception. Never, during
160
161
curl's development, have we intended curl to replace wget or compete on its
161
162
market. Curl is targeted at single-shot file transfers.
171
172
Curl is not a PHP tool, even though it works perfectly well when used from
172
173
or with PHP (when using the PHP/CURL module).
174
Curl is not a single-OS program. Curl exists, compiles, builds and runs
175
under a wide range of operating systems, including all modern Unixes (and a
176
bunch of older ones too), Windows, Amiga, BeOS, OS/2, OS X, QNX etc.
175
Curl is not a program for a single operating system. Curl exists, compiles,
176
builds and runs under a wide range of operating systems, including all
177
modern Unixes (and a bunch of older ones too), Windows, Amiga, BeOS, OS/2,
178
180
1.4 When will you make curl do XXXX ?
211
213
improvements and have them inserted in the main sources (of course on the
212
214
condition that developers agree on that the fixes are good).
214
The full list of the more than 450 contributors is found in the docs/THANKS
216
The full list of the more than 530 contributors is found in the docs/THANKS
217
219
curl is developed by a community, with Daniel at the wheel.
288
290
Some facts to use as input to the math:
290
curl packages have been downloaded from the curl.haxx.se site well over a
291
million times. curl is installed by default with most Linux
292
curl packages are downloaded from the curl.haxx.se and mirrors almost one
293
million times per year. curl is installed by default with most Linux
292
294
distributions. curl is installed by default with Mac OS X. curl and libcurl
293
295
as used by numerous applications that include libcurl binaries in their
294
296
distribution packages (like Adobe Acrobat Reader and Google Earth).
296
More than 40 known named companies use curl in commercial environments and
298
More than 60 known named companies use curl in commercial environments and
297
299
products. More than 100 known named open source projects depend on
305
307
based web servers. A guess is that a fair amount of these Linux
306
308
installations have curl installed.
310
All this taken together, there is no doubt that there are millions of
308
313
http://curl.haxx.se/docs/companies.html
309
314
http://curl.haxx.se/docs/programs.html
310
315
http://curl.haxx.se/libcurl/using/apps.html
338
343
./configure places the -L/usr/local/ssl/lib early enough in the command
339
344
line to make things work
341
Solution submitted by: Bob Allison <allisonb@users.sourceforge.net>
343
346
2.1.2 only the libssl lib is missing
345
348
If all include files and the libcrypto lib is present, with only the
356
359
2.2 Does curl work/build with other SSL libraries?
358
Curl has been written to use OpenSSL or GnuTLS, although there should not be
359
many problems using a different library. If anyone does "port" curl to use a
360
different SSL library, we are of course very interested in getting the
361
Curl has been written to use OpenSSL, GnuTLS, yassl or NSS, although there
362
should not be many problems using a different library. If anyone does "port"
363
curl to use a different SSL library, we are of course very interested in
363
366
2.3 Where can I find a copy of LIBEAY32.DLL?
464
467
install and use them, in the libcurl section of the curl web site:
465
468
http://curl.haxx.se/libcurl/
467
In February 2003, there are interfaces available for the following
468
languages: Basic, C, C++, Cocoa, Dylan, Euphoria, Java, Lua, Object-Pascal,
469
Pascal, Perl, PHP, PostgreSQL, Python, Rexx, Ruby, Scheme and Tcl. By the
470
time you read this, additional ones may have appeared!
470
In February 2007, there are interfaces available for the following
471
languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Euphoria, Ferite,
472
Gambas, glib/GTK+, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'Caml,
473
Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ruby, Scheme, S-Lang,
474
Smalltalk, SPL, Tcl, Visual Basic, Q, wxwidgets and XBLite. By the time you
475
read this, additional ones may have appeared!
472
477
3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
840
845
http://www.gnu.org/software/gnutls/manual/html_node/Multi_002dthreaded-applications.html
847
No special locking is needed with a NSS-powered libcurl. NSS is thread-safe.
842
849
5.2 How can I receive all data into a large memory chunk?
844
851
[ See also the examples/getinmemory.c source ]
896
903
Similarly, if you use CURLOPT_READDATA you must also specify
897
904
CURLOPT_READFUNCTION.
899
(Provided by Joel DeYoung and Bob Schader)
901
906
5.6 What about Keep-Alive or persistent connections?
903
908
curl and libcurl have excellent support for persistent connections when
916
921
options to the command line compiler. /MD (linking against MSVCRT dll) seems
917
922
to be the most commonly used option.
919
(Provided by Andrew Francis)
921
924
When building an application that uses the static libcurl library, you must
922
925
add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for
923
926
dynamic import symbols. If you get linker error like "unknown symbol