exchanged I and me to we and us in a lot of places

updated for persistant connections and 7.7
This commit is contained in:
Daniel Stenberg 2001-03-13 11:47:30 +00:00
parent 8e8846d876
commit 11d718bf52
1 changed files with 55 additions and 53 deletions

108
docs/FAQ
View File

@ -1,4 +1,4 @@
Updated: March 6, 2001 (http://curl.haxx.se/docs/faq.shtml) Updated: March 13, 2001 (http://curl.haxx.se/docs/faq.shtml)
_ _ ____ _ _ _ ____ _
___| | | | _ \| | ___| | | | _ \| |
/ __| | | | |_) | | / __| | | | |_) | |
@ -112,29 +112,30 @@ FAQ
1.4 When will you make curl do XXXX ? 1.4 When will you make curl do XXXX ?
I love suggestions of what to change in order to make curl and libcurl We love suggestions of what to change in order to make curl and libcurl
better. I do however believe in a few rules when it comes to the future of better. We do however believe in a few rules when it comes to the future of
curl: curl:
* It is to remain a command line tool. If you want GUIs or fancy scripting * Curl is to remain a command line tool. If you want GUIs or fancy scripting
capabilities, you're free to write another tool that uses libcurl and that capabilities, you're free to write another tool that uses libcurl and that
offers this. There's no point in having one single tool that does every offers this. There's no point in having a single tool that does every
imaginable thing. That's also one of the great advantages of having the imaginable thing. That's also one of the great advantages of having the
core of curl as a library: libcurl. core of curl as a library.
* I do not add things to curl that other small and available tools already * We do not add things to curl that other small and available tools already
do very fine at the side. Curl's output is fine to pipe into another do very fine at the side. Curl's output is fine to pipe into another
program or redirect to another file for the next program to interpret. program or redirect to another file for the next program to interpret.
* I focus on protocol related issues and improvements. If you wanna do more * We focus on protocol related issues and improvements. If you wanna do more
magic with the supported protocols than curl currently does, chances are magic with the supported protocols than curl currently does, chances are
big I will agree. If you wanna add more protocols, I may very well big I will agree. If you wanna add more protocols, I may very well
agree. agree.
* If you want me to make all the work while you wait for me to implement it * If you want someone else to make all the work while you wait for us to
for you, that is not a very friendly attitude. I spend a considerable time implement it for you, that is not a very friendly attitude. We spend a
already on maintaining and developing curl. In order to get more out of considerable time already on maintaining and developing curl. In order to
me, I trust you will offer some of your time and efforts in return. get more out of us, you should consider trading in some of your time and
efforts in return.
* If you write the code, chances are bigger that it will get into curl * If you write the code, chances are bigger that it will get into curl
faster. faster.
@ -182,23 +183,24 @@ FAQ
2.2. Does curl work/build with other SSL libraries? 2.2. Does curl work/build with other SSL libraries?
Curl has been written to use OpenSSL, although I doubt there would be much Curl has been written to use OpenSSL, although there should not be much
problems using a different library. If anyone does "port" curl to use a problems using a different library. If anyone does "port" curl to use a
different SSL library, I am of course very interested in getting the patch! different SSL library, we are of course very interested in getting the
patch!
2.3. Where can I find a copy of LIBEAY32.DLL? 2.3. Where can I find a copy of LIBEAY32.DLL?
That is an OpenSSL binary built for Windows. That is an OpenSSL binary built for Windows.
Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs
on a windows machine to do https://. Check out the curl web page to find on a windows machine to do https://. Check out the curl web site to find
accurate and up-to-date pointers to recent OpenSSL DDLs and other binary accurate and up-to-date pointers to recent OpenSSL DDLs and other binary
packages. packages.
2.4. Does cURL support Socks (RFC 1928) ? 2.4. Does cURL support Socks (RFC 1928) ?
No. Nobody has wanted it that badly yet. I would appriciate patches that No. Nobody has wanted it that badly yet. We appriciate patches that bring
brings this functionality. this functionality.
3. Usage problems 3. Usage problems
@ -220,7 +222,7 @@ FAQ
3.2. How do I tell curl to resume a transfer? 3.2. How do I tell curl to resume a transfer?
Curl supports resume both ways on FTP, download ways on HTTP. Curl supports resumed transfers both ways on both FTP and HTTP.
Try the -C option. Try the -C option.
@ -232,10 +234,10 @@ FAQ
use the -F type. In all the most common cases, you should use -d which then use the -F type. In all the most common cases, you should use -d which then
causes a posting with the type 'application/x-www-form-urlencoded'. causes a posting with the type 'application/x-www-form-urlencoded'.
I have described this in some detail in the README.curl file, and if you This is described in some detail in the README.curl file, and if you don't
don't understand it the first time, read it again before you post questions understand it the first time, read it again before you post questions about
about this to the mailing list. I would also suggest that you read through this to the mailing list. Also, try reading through the mailing list
the mailing list archives for old postings and questions regarding this. archives for old postings and questions regarding this.
3.4. How do I tell curl to run custom FTP commands? 3.4. How do I tell curl to run custom FTP commands?
@ -306,9 +308,9 @@ FAQ
4.1. Problems connecting to SSL servers. 4.1. Problems connecting to SSL servers.
It took a very long time before I could sort out why curl had problems It took a very long time before we could sort out why curl had problems to
to connect to certain SSL servers when using SSLeay or OpenSSL v0.9+. connect to certain SSL servers when using SSLeay or OpenSSL v0.9+. The
The error sometimes showed up similar to: error sometimes showed up similar to:
16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233: 16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233:
@ -316,12 +318,12 @@ FAQ
requests properly. To correct this problem, tell curl to select SSLv2 from requests properly. To correct this problem, tell curl to select SSLv2 from
the command line (-2/--sslv2). the command line (-2/--sslv2).
I have also seen examples where the remote server didn't like the SSLv2 There has also been examples where the remote server didn't like the SSLv2
request and instead you had to force curl to use SSLv3 with -3/--sslv3. request and instead you had to force curl to use SSLv3 with -3/--sslv3.
4.2. Why do I get problems when I use & or % in the URL? 4.2. Why do I get problems when I use & or % in the URL?
In general unix shells, the & letter is treated special and when used it In general unix shells, the & letter is treated special and when used, it
runs the specified command in the background. To safely send the & as a part runs the specified command in the background. To safely send the & as a part
of a URL, you should qoute the entire URL by using single (') or double (") of a URL, you should qoute the entire URL by using single (') or double (")
quotes around it. quotes around it.
@ -346,8 +348,8 @@ FAQ
curl '{curl,www}.haxx.se' curl '{curl,www}.haxx.se'
To be able to use those letters as actual parts of the URL (without using To be able to use those letters as actual parts of the URL (without using
them for the curl URL "globbing" system), use the -g/--globoff option them for the curl URL "globbing" system), use the -g/--globoff option (curl
(included in curl 7.6 and later): 7.6 and later):
curl -g 'www.site.com/weirdname[].html' curl -g 'www.site.com/weirdname[].html'
@ -363,8 +365,8 @@ FAQ
4.5 Why do I get return code XXX from a HTTP server? 4.5 Why do I get return code XXX from a HTTP server?
RFC2616 clearly explains the return codes. I'll make a short transcript RFC2616 clearly explains the return codes. This is a short transcript. Go
here. Go read the RFC for exact details: read the RFC for exact details:
4.5.1 "400 Bad Request" 4.5.1 "400 Bad Request"
@ -400,7 +402,7 @@ FAQ
4.7. How do I keep usernames and passwords secret in Curl command lines? 4.7. How do I keep usernames and passwords secret in Curl command lines?
I see this problem as two parts: This problem has two sides:
The first part is to avoid having clear-text passwords in the command line The first part is to avoid having clear-text passwords in the command line
so that they don't appear in 'ps' outputs and similar. That is easily so that they don't appear in 'ps' outputs and similar. That is easily
@ -447,9 +449,8 @@ FAQ
programs. libcurl will use thread-safe functions instead of non-safe ones if programs. libcurl will use thread-safe functions instead of non-safe ones if
your system has such. your system has such.
I am very interested in once and for all getting some kind of report or We would appriciate some kind of report or README file from those who have
README file from those who have used libcurl in a threaded environment, used libcurl in a threaded environment.
since I haven't and I get this question more and more frequently!
5.2 How can I receive all data into a large memory chunk? 5.2 How can I receive all data into a large memory chunk?
@ -487,11 +488,15 @@ FAQ
5.3 How do I fetch multiple files with libcurl? 5.3 How do I fetch multiple files with libcurl?
Starting with version 7.7, curl and libcurl will have excellent support for Starting with version 7.7, curl and libcurl will have excellent support for
transferring multiple files. transferring multiple files. You should just repeatedly set new URLs with
curl_easy_setopt() and then transfer it with curl_easy_perform(). The handle
you get from curl_easy_init() is not only reusable starting with libcurl
7.7, but also you're encouraged to reuse it if you can, as that will enable
libcurl to use persistant connections.
The easy interface of libcurl does not support multiple requests using the For libcurl prior to 7.7, there was no multiple file support. The only
same connection. The only available way to do multiple requests is to available way to do multiple requests was to init/perform/cleanup for each
init/perform/cleanup for each request. transfer.
5.4 Does libcurl do Winsock initing on win32 systems? 5.4 Does libcurl do Winsock initing on win32 systems?
@ -517,18 +522,14 @@ FAQ
Starting with version 7.7, curl and libcurl will have excellent support for Starting with version 7.7, curl and libcurl will have excellent support for
persistant connections when transferring several files from the same server. persistant connections when transferring several files from the same server.
Curl will attempt to reuse connections for all URLs specified on the same
command line/config file, and libcurl will reuse connections for all
transfers that are made using the same libcurl handle.
This is closely related to issue 5.3. Since libcurl has no real support Previous versions had no persistant connection support.
for doing multiple file transfers, there's no support for Keep-Alive or
persistant connections either.
This is of course subject to change as soon as libcurl gets support for
multiple files. Feel free to join in and make this change happen sooner!
6. License Issues 6. License Issues
NOTE: This section concerns curl 7.5.2 or later!
Curl and libcurl are released under a MIT/X derivate license *or* the MPL, Curl and libcurl are released under a MIT/X derivate license *or* the MPL,
the Mozilla Public License. To get a really good answer to your license the Mozilla Public License. To get a really good answer to your license
conflict questions, you should study the MPL and MIT/X licenses and the conflict questions, you should study the MPL and MIT/X licenses and the
@ -573,9 +574,10 @@ FAQ
No. No.
We carefully picked this license years ago and a large amount of people have We have carefully picked this license after years of development and
contributed with source code knowing that this is the license we use. This discussions and a large amount of people have contributed with source code
license puts the restrictions we want on curl/libcurl and it does not spread knowing that this is the license we use. This license puts the restrictions
to other programs or libraries that use it. The recent dual license we want on curl/libcurl and it does not spread to other programs or
modification should make it possible for everyone to use libcurl or curl in libraries that use it. The recent dual license modification should make it
their projects, no matter what license they already have in use. possible for everyone to use libcurl or curl in their projects, no matter
what license they already have in use.