RCurl kan sende FTP gennem en HTTP-tunnel
Brug httpproxytunnel, når proxyen skal bære FTP-protokollen i stedet for at modtage en HTTP GET med en FTP-URL.
libcurl har to forskellige måder at bruge en HTTP-proxy til en FTP-URL. Uden tunnel kan den sende en HTTP GET, hvis mål er FTP-URL'en, og bede proxyen om at fungere som FTP-gateway.
Når tjenesten i stedet forventer en HTTP CONNECT-tunnel, skal du aktivere RCurls tilsvarende indstilling:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Proxyen skal tillade forbindelser til FTP-serverens nødvendige porte. En tjeneste, der er begrænset til CONNECT på 443, kan afvise FTP's kontrolforbindelse, selv når almindelig HTTPS-browsing virker.
FTP bruger også en separat dataforbindelse til en liste eller overførsel. Et vellykket kontrol-login beviser ikke, at den forhandlede datadestination er tilladt gennem mellemleddet.
Denne tilstand bærer FTP-protokollen gennem en tunnel; den gør ikke almindelig FTP krypteret. Brug den sikre protokol, filserveren understøtter, og det matchende libcurl-build, når fortrolighed kræves. RCurls tilgængelige protokoller afhænger af det libcurl-bibliotek, den bruger.