RCurl dokáže posielať FTP cez HTTP tunel
Použite httpproxytunnel, keď má proxy prenášať protokol FTP, namiesto prijímania HTTP GET s adresou FTP.
libcurl má dva rôzne spôsoby použitia HTTP proxy pre adresu FTP. Bez tunela môže odoslať HTTP GET, ktorého cieľom je adresa FTP, a požiadať proxy, aby fungovala ako brána FTP.
Keď služba namiesto toho očakáva tunel HTTP CONNECT, zapnite príslušnú voľbu RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Proxy musí povoliť spojenia na požadované porty servera FTP. Služba obmedzená na CONNECT na porte 443 môže odmietnuť riadiace spojenie FTP, aj keď bežné prehliadanie HTTPS funguje.
FTP tiež používa samostatné dátové spojenie na výpis alebo prenos. Úspešné prihlásenie v riadiacom kanáli nedokazuje, že dohodnutý cieľ dát je cez sprostredkovateľa povolený.
Tento režim prenáša protokol FTP tunelom; nešifruje bežné FTP. Keď je potrebná dôvernosť, použite bezpečný protokol podporovaný súborovým serverom a zodpovedajúce zostavenie libcurl. Dostupné protokoly RCurl závisia od knižnice libcurl, ktorú používa.