aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2002-03-19 08:55:05 +0000
committerDaniel Stenberg <daniel@haxx.se>2002-03-19 08:55:05 +0000
commit7ffb4660ec68e03f28b812269cff7446486b1d08 (patch)
treebb9cdf735432a2ebf9e139ae69391bfc26513b79 /docs
parent974f314f5785156af6983675aeb28313cc8ba2ea (diff)
added some text about PASV and PORT and stuff
Diffstat (limited to 'docs')
-rw-r--r--docs/libcurl-the-guide29
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/libcurl-the-guide b/docs/libcurl-the-guide
index 3892f5860..7ab8c31a9 100644
--- a/docs/libcurl-the-guide
+++ b/docs/libcurl-the-guide
@@ -869,6 +869,35 @@ Cookies Without Chocolate Chips
getting lost.
+FTP Peculiarities We Need
+
+ FTP transfers use a second TCP/IP connection for the data transfer. This is
+ usually a fact you can forget and ignore but at times this fact will come
+ back to haunt you. libcurl offers several different ways to custom how the
+ second connection is being made.
+
+ libcurl can either connect to the server a second time or tell the server to
+ connect back to it. The first option is the default and it is also what works
+ best for all the people behind firewals, NATs or ip-masquarading setups.
+ libcurl then tells the server to open up a new port and wait for a second
+ connection. This is by default attempted with EPSV first, and if that doesn't
+ work it tries PASV instead. (EPSV is an extension to the original FTP spec
+ and does not exist nor work on all FTP servers.)
+
+ You can prevent libcurl from first trying the EPSV command by setting
+ CURLOPT_FTP_USE_EPSV to FALSE.
+
+ In some cases, you will perfer to have the server connect back to you for the
+ second connection. This might be when the server is perhaps behind a firewall
+ or something and only allows connections on a single port. libcurl then
+ informs the remote server which IP address and port number to connect to.
+ This is made with the CURLOPT_FTPPORT option. If you set it to "-", libcurl
+ will use your system's "default IP address". If you want to use a particular
+ IP, you can set the full IP address, a host name to resolve to an IP address
+ or even a local network interface name that libcurl will get the IP address
+ from.
+
+
Headers Equal Fun
Some protocols provide "headers", meta-data separated from the normal