128
130
libcurl is highly portable, it builds and works identically on numerous
129
131
platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX,
130
132
IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac
131
OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...
133
OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS, Symbian, OSF,
134
Android, Minix, IBM TPF and more...
133
136
libcurl is free, thread-safe, IPv6 compatible, feature rich, well
134
137
supported and fast.
226
229
1.6 What do you get for making curl?
228
231
Project cURL is entirely free and open. No person gets paid for developing
229
(lib)curl. We do this voluntarily on our spare time.
232
(lib)curl on full or even part time. We do this voluntarily on our spare
233
time. Occasionally companies pay individual developers to work on curl, but
234
that's up to each company and developer. It is not controlled by nor
235
supervised in any way by the project.
231
We get some help from companies. CAG Contactor hosts the curl web site, Haxx
232
owns the curl web site's domain and sourceforge.net hosts project services
233
we take advantage from, like the bug tracker. Also, some companies have
237
We still get help from companies. Haxx provides web site, bandwidth, mailing
238
lists, CVS server etc and sourceforge.net hosts project services we take
239
advantage from, like the bug tracker. Also again, some companies have
234
240
sponsored certain parts of the development in the past and I hope some will
235
241
continue to do so in the future.
344
350
Firefox (by running 'make ca-bundle), or by using our online service setup
345
351
for this purpose: http://curl.haxx.se/docs/caextract.html
353
1.12 I have a problem who can I chat with?
355
There's a bunch of friendly people hanging out in the #curl channel on the
356
IRC network irc.freenode.net. If you're polite and nice, chances are big
357
that you can get -- or provide -- help instantly.
348
360
2. Install Related Problems
499
511
install and use them, in the libcurl section of the curl web site:
500
512
http://curl.haxx.se/libcurl/
502
In February 2007, there are interfaces available for the following
503
languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Euphoria, Ferite,
504
Gambas, glib/GTK+, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'Caml,
505
Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ruby, Scheme, S-Lang,
506
Smalltalk, SPL, Tcl, Visual Basic, Q, wxwidgets and XBLite. By the time you
507
read this, additional ones may have appeared!
514
In October 2009, there were interfaces available for the following
515
languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria,
516
Ferite, Gambas, glib/GTK+, Haskell, ILE/RPG, Java, Lisp, Lua, Mono, .NET,
517
Object-Pascal, O'Caml, Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ruby,
518
Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro,
519
Q, wxwidgets and XBLite. By the time you read this, additional ones may have
509
522
3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
570
583
the name of the proxy to connect to. Since curl doesn't support Javascript,
571
584
it can't support .pac proxy configuration either.
573
Some work-arounds usually suggested to overcome this Javascript dependency:
586
Some workarounds usually suggested to overcome this Javascript dependency:
575
588
- Depending on the Javascript complexity, write up a script that
576
589
translates it to another language and execute that.
788
801
4.9 Curl can't authenticate to the server that requires NTLM?
790
803
This is supported in curl 7.10.6 or later. No earlier curl version knows
791
of this magic. Later versions require the OpenSSL or Microsoft Windows
792
libraries to provide this functionality. Using the NSS library will
793
not provide NTLM authentication functionality in curl.
804
of this magic. Later versions require the OpenSSL, GnuTLS or Microsoft
805
Windows libraries to provide this functionality. Using the NSS library
806
will not provide NTLM authentication functionality in curl.
795
808
NTLM is a Microsoft proprietary protocol. Proprietary formats are evil. You
796
809
should not use such ones.
1123
1136
curl_easy_setopt(hcurl, CURLOPT_WRITEFUNCTION, YourClass:staticFunction);
1124
1137
curl_easy_setopt(hcurl, CURLOPT_WRITEDATA, this);
1139
5.15 How do I get an FTP directory listing?
1141
If you end the FTP URL you request with a slash, libcurl will provide you
1142
with a directory listing of that given directory. You can also set
1143
CURLOPT_CUSTOMREQUEST to alter what exact listing command libcurl would use
1146
The follow-up question that tend to follow the previous one, is how a
1147
program is supposed to parse the directory listing. How does it know what's
1148
a file and what's a dir and what's a symlink etc. The harsh reality is that
1149
FTP provides no such fine and easy-to-parse output. The output format FTP
1150
servers respond to LIST commands are entirely at the server's own liking and
1151
the NLST output doesn't reveal any types and in many cases don't even
1152
include all the directory entries. Also, both LIST and NLST tend to hide
1153
unix-style hidden files (those that start with a dot) by default so you need
1154
to do "LIST -a" or similar to see them.
1156
The application thus needs to parse the LIST output. One such existing
1157
list parser is available at http://cr.yp.to/ftpparse.html
1126
1160
6. License Issues
1128
1162
Curl and libcurl are released under a MIT/X derivate license. The license is