FAQ: editorial updates

Several language fixes. Several reformats that should make the HTML
generation of this document look better.

Reported-by: Dave Thompson
This commit is contained in:
Daniel Stenberg 2013-08-24 17:13:46 +02:00
parent ea464d72e9
commit 1a911f7ec4

102
docs/FAQ
View File

@ -202,27 +202,25 @@ FAQ
better. We 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:
* Curl -- the command line tool -- is to remain a non-graphical command line Curl -- the command line tool -- is to remain a non-graphical command line
tool. If you want GUIs or fancy scripting capabilities, you should look tool. If you want GUIs or fancy scripting capabilities, you should look for
for another tool that uses libcurl. another tool that uses libcurl.
* We 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
do very fine at the side. Curl's output is fine to pipe into another very fine at the side. Curl's output is fine to pipe into another program or
program or redirect to another file for the next program to interpret. redirect to another file for the next program to interpret.
* We 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
big we will agree. If you wanna add more protocols, we may very well we will agree. If you wanna add more protocols, we may very well agree.
agree.
* If you want someone else to make all the work while you wait for us to If you want someone else to make all the work while you wait for us to
implement it for you, that is not a very friendly attitude. We spend a implement it for you, that is not a very friendly attitude. We spend a
considerable time already on maintaining and developing curl. In order to considerable time already on maintaining and developing curl. In order to
get more out of us, you should consider trading in some of your time and get more out of us, you should consider trading in some of your time and
efforts in return. 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.
1.5 Who makes curl? 1.5 Who makes curl?
@ -263,7 +261,7 @@ FAQ
Our project name curl has been in effective use since 1998. We were not the Our project name curl has been in effective use since 1998. We were not the
first computer related project to use the name "curl" and do not claim any first computer related project to use the name "curl" and do not claim any
first-hand rights to the name. rights to the name.
We recognize that we will be living in parallel with curl.com and wish them We recognize that we will be living in parallel with curl.com and wish them
every success. every success.
@ -620,15 +618,15 @@ FAQ
Some workarounds usually suggested to overcome this Javascript dependency: Some workarounds usually suggested to overcome this Javascript dependency:
- Depending on the Javascript complexity, write up a script that Depending on the Javascript complexity, write up a script that translates it
translates it to another language and execute that. to another language and execute that.
- Read the Javascript code and rewrite the same logic in another language. Read the Javascript code and rewrite the same logic in another language.
- Implement a Javascript interpreter, people have successfully used the Implement a Javascript interpreter, people have successfully used the
Mozilla Javascript engine in the past. Mozilla Javascript engine in the past.
- Ask your admins to stop this, for a static proxy setup or similar. Ask your admins to stop this, for a static proxy setup or similar.
3.15 Can I do recursive fetches with curl? 3.15 Can I do recursive fetches with curl?
@ -644,23 +642,27 @@ FAQ
There are three different kinds of "certificates" to keep track of when we There are three different kinds of "certificates" to keep track of when we
talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl. talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl.
- Client certificate. The server you communicate may require that you can CLIENT CERTIFICATE
provide this in order to prove that you actually are who you claim to be.
If the server doesn't require this, you don't need a client certificate. The server you communicate may require that you can provide this in order to
prove that you actually are who you claim to be. If the server doesn't
require this, you don't need a client certificate.
A client certificate is always used together with a private key, and the A client certificate is always used together with a private key, and the
private key has a pass phrase that protects it. private key has a pass phrase that protects it.
- Server certificate. The server you communicate with has a server SERVER CERTIFICATE
certificate. You can and should verify this certificate to make sure that
you are truly talking to the real server and not a server impersonating
it.
- Certificate Authority certificate ("CA cert"). You often have several CA The server you communicate with has a server certificate. You can and should
certs in a CA cert bundle that can be used to verify a server certificate verify this certificate to make sure that you are truly talking to the real
that was signed by one of the authorities in the bundle. curl does not server and not a server impersonating it.
come with a CA cert bundle but most curl installs provide one. You can
also override the default. CERTIFICATE AUTHORITY CERTIFICATE ("CA cert")
You often have several CA certs in a CA cert bundle that can be used to
verify a server certificate that was signed by one of the authorities in the
bundle. curl does not come with a CA cert bundle but most curl installs
provide one. You can also override the default.
The server certificate verification process is made by using a Certificate The server certificate verification process is made by using a Certificate
Authority certificate ("CA cert") that was used to sign the server Authority certificate ("CA cert") that was used to sign the server
@ -669,9 +671,9 @@ FAQ
4.12 and the SSLCERTS document 4.12 and the SSLCERTS document
(http://curl.haxx.se/docs/sslcerts.html). Server certificates that are (http://curl.haxx.se/docs/sslcerts.html). Server certificates that are
"self-signed" or otherwise signed by a CA that you do not have a CA cert "self-signed" or otherwise signed by a CA that you do not have a CA cert
for, cannot be verified. If the verification during a connect fails, you for, cannot be verified. If the verification during a connect fails, you are
are refused access. You then need to explicitly disable the verification refused access. You then need to explicitly disable the verification to
to connect to the server. connect to the server.
3.17 How do I list the root dir of an FTP server? 3.17 How do I list the root dir of an FTP server?
@ -794,12 +796,13 @@ FAQ
curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl' curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl'
In Windows, the standard DOS shell treats the %-symbol specially and you In Windows, the standard DOS shell treats the percent sign specially and you
need to use TWO %-symbols for each single one you want to use in the URL. need to use TWO percent signs for each single one you want to use in the
URL.
Also note that if you want the literal %-symbol to be part of the data you If you want a literal percent sign to be part of the data you pass in a POST
pass in a POST using -d/--data you must encode it as '%25' (which then also using -d/--data you must encode it as '%25' (which then also needs the
needs the %-symbol doubled on Windows machines). percent sign doubled on Windows machines).
4.3 How can I use {, }, [ or ] to specify multiple URLs? 4.3 How can I use {, }, [ or ] to specify multiple URLs?
@ -968,13 +971,13 @@ FAQ
4.14 Redirects work in browser but not with curl! 4.14 Redirects work in browser but not with curl!
curl supports HTTP redirects fine (see item 3.8). Browsers generally support curl supports HTTP redirects fine (see item 3.8). Browsers generally support
at least two other ways to perform directs that curl does not: at least two other ways to perform redirects that curl does not:
- Meta tags. You can write a HTML tag that will cause the browser to Meta tags. You can write a HTML tag that will cause the browser to redirect
redirect to another given URL after a certain time. to another given URL after a certain time.
- Javascript. You can write a Javascript program embedded in a HTML page Javascript. You can write a Javascript program embedded in a HTML page that
that redirects the browser to another given URL. redirects the browser to another given URL.
There is no way to make curl follow these redirects. You must either There is no way to make curl follow these redirects. You must either
manually figure out what the page is set to do, or you write a script that manually figure out what the page is set to do, or you write a script that
@ -1270,17 +1273,18 @@ FAQ
5.12 Can I make libcurl fake or hide my real IP address? 5.12 Can I make libcurl fake or hide my real IP address?
No. libcurl operates on a higher level than so. Besides, faking IP address No. libcurl operates on a higher level. Besides, faking IP address would
would imply sending IP packages with a made-up source address, and then you imply sending IP packet with a made-up source address, and then you normally
normally get a problem with intercepting the packages sent back as they get a problem with receiving the packet sent back as they would then not be
would then not be routed to you! routed to you!
If you use a proxy to access remote sites, the sites will not see your local If you use a proxy to access remote sites, the sites will not see your local
IP address but instead the address of the proxy. IP address but instead the address of the proxy.
Also note that on many networks NATs or other IP-munging techniques are used Also note that on many networks NATs or other IP-munging techniques are used
that makes you see and use a different IP address locally than what the that makes you see and use a different IP address locally than what the
remote server will see you coming from. remote server will see you coming from. You may also consider using
http://www.torproject.org .
5.13 How do I stop an ongoing transfer? 5.13 How do I stop an ongoing transfer?