DOKK / manpages / debian 12 / libcurl4-doc / CURLOPT_FTP_USE_EPSV.3.en
CURLOPT_FTP_USE_EPSV(3) curl_easy_setopt options CURLOPT_FTP_USE_EPSV(3)

CURLOPT_FTP_USE_EPSV - use EPSV for FTP

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv);

Pass epsv as a long. If the value is 1, it tells curl to use the EPSV command when doing passive FTP downloads (which it does by default). Using EPSV means that it will first attempt to use EPSV before using PASV, but if you pass zero to this option, it will not try using EPSV, only plain PASV.

If the server is an IPv6 host, this option will have no effect as of 7.12.3.

1

FTP

CURL *curl = curl_easy_init();
if(curl) {

curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/old-server/file.txt");
/* let's shut off this modern feature */
curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 0L);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl); }

Along with FTP

Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.

CURLOPT_FTP_USE_EPRT(3), CURLOPT_FTPPORT(3),

January 2, 2023 libcurl 7.88.1