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

CURLOPT_FTP_USE_EPRT - use EPRT for FTP

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

Pass a long. If the value is 1, it tells curl to use the EPRT command when doing active FTP downloads (which is enabled by CURLOPT_FTPPORT(3)). Using EPRT means that it will first attempt to use EPRT before using PORT, but if you pass zero to this option, it will not try using EPRT, only plain PORT.

If the server is an IPv6 host, this option will have no effect as EPRT is necessary then.

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

curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/file.txt");
/* contact us back, aka "active" FTP */
curl_easy_setopt(curl, CURLOPT_FTPPORT, "-");
/* FTP the way the neanderthals did it */
curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 0L);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl); }

Added in 7.10.5

Returns CURLE_OK

CURLOPT_FTP_USE_EPSV(3), CURLOPT_FTPPORT(3),

January 2, 2023 libcurl 7.88.1