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:
parent
ea464d72e9
commit
1a911f7ec4
130
docs/FAQ
130
docs/FAQ
@ -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,34 +642,38 @@ 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.
|
|
||||||
|
|
||||||
A client certificate is always used together with a private key, and the
|
The server you communicate may require that you can provide this in order to
|
||||||
private key has a pass phrase that protects it.
|
prove that you actually are who you claim to be. If the server doesn't
|
||||||
|
require this, you don't need a client certificate.
|
||||||
|
|
||||||
- Server certificate. The server you communicate with has a server
|
A client certificate is always used together with a private key, and the
|
||||||
certificate. You can and should verify this certificate to make sure that
|
private key has a pass phrase that protects it.
|
||||||
you are truly talking to the real server and not a server impersonating
|
|
||||||
it.
|
|
||||||
|
|
||||||
- Certificate Authority certificate ("CA cert"). You often have several CA
|
SERVER CERTIFICATE
|
||||||
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 you communicate with has a server certificate. You can and should
|
||||||
Authority certificate ("CA cert") that was used to sign the server
|
verify this certificate to make sure that you are truly talking to the real
|
||||||
certificate. Server certificate verification is enabled by default in curl
|
server and not a server impersonating it.
|
||||||
and libcurl and is often the reason for problems as explained in FAQ entry
|
|
||||||
4.12 and the SSLCERTS document
|
CERTIFICATE AUTHORITY CERTIFICATE ("CA cert")
|
||||||
(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
|
You often have several CA certs in a CA cert bundle that can be used to
|
||||||
for, cannot be verified. If the verification during a connect fails, you
|
verify a server certificate that was signed by one of the authorities in the
|
||||||
are refused access. You then need to explicitly disable the verification
|
bundle. curl does not come with a CA cert bundle but most curl installs
|
||||||
to connect to the server.
|
provide one. You can also override the default.
|
||||||
|
|
||||||
|
The server certificate verification process is made by using a Certificate
|
||||||
|
Authority certificate ("CA cert") that was used to sign the server
|
||||||
|
certificate. Server certificate verification is enabled by default in curl
|
||||||
|
and libcurl and is often the reason for problems as explained in FAQ entry
|
||||||
|
4.12 and the SSLCERTS document
|
||||||
|
(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
|
||||||
|
for, cannot be verified. If the verification during a connect fails, you are
|
||||||
|
refused access. You then need to explicitly disable the verification to
|
||||||
|
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?
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user