Provided by: libcurl4-doc_7.81.0-1ubuntu1.19_all bug

NAME

       CURLOPT_FTPPORT - make FTP transfer active

SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec);

DESCRIPTION

       Pass  a  pointer  to  a  null-terminated  string  as  parameter. It specifies that the FTP
       transfer will be made actively and the given string will be used to get the IP address  to
       use for the FTP PORT instruction.

       The  PORT  instruction tells the remote server to connect to our specified IP address. The
       string may be a plain IP address, a host name, a network interface name  (under  Unix)  or
       just  a  '-'  symbol  to let the library use your system's default IP address. Default FTP
       operations are passive, and thus will not use PORT.

       The address can be followed by a ':' to specify a port, optionally followed by  a  '-'  to
       specify  a  port range.  If the port specified is 0, the operating system will pick a free
       port.  If a range is provided and all ports in the range are not available,  libcurl  will
       report  CURLE_FTP_PORT_FAILED  for  the  handle.  Invalid port/range settings are ignored.
       IPv6 addresses followed by a port or portrange have to be  in  brackets.   IPv6  addresses
       without port/range specifier can be in brackets.

       Examples with specified ports:

         eth0:0
         192.168.1.2:32000-33000
         curl.se:32123
         [::1]:1234-4567

       You  disable PORT again and go back to using the passive version by setting this option to
       NULL.

       The application does not have to keep the string around after setting this option.

DEFAULT

       NULL

PROTOCOLS

       FTP

EXAMPLE

       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/old-server/file.txt");
         curl_easy_setopt(curl, CURLOPT_FTPPORT, "-");
         ret = curl_easy_perform(curl);
         curl_easy_cleanup(curl);
       }

AVAILABILITY

       Port range support was added in 7.19.5

RETURN VALUE

       Returns  CURLE_OK  if  the  option  is  supported,   CURLE_UNKNOWN_OPTION   if   not,   or
       CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

       CURLOPT_FTP_USE_EPRT(3), CURLOPT_FTP_USE_EPSV(3),