RCurl kan FTP via een HTTP-tunnel versturen
Gebruik httpproxytunnel wanneer de proxy het FTP-protocol moet dragen in plaats van een HTTP GET met een FTP-URL te ontvangen.
libcurl heeft twee verschillende manieren om een HTTP-proxy voor een FTP-URL te gebruiken. Zonder tunnel kan het een HTTP GET sturen waarvan het doel de FTP-URL is, en de proxy vragen als FTP-gateway te fungeren.
Wanneer de dienst in plaats daarvan een HTTP CONNECT-tunnel verwacht, schakelt u de bijbehorende optie van RCurl in:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
De proxy moet verbindingen naar de vereiste poorten van de FTP-server toestaan. Een dienst die beperkt is tot CONNECT op 443 kan de besturingsverbinding van FTP weigeren, zelfs wanneer gewoon HTTPS-browsen werkt.
FTP gebruikt ook een aparte dataverbinding voor een lijst of overdracht. Een geslaagde besturingsaanmelding bewijst niet dat de onderhandelde databestemming via de tussenpartij is toegestaan.
Deze modus draagt het FTP-protocol door een tunnel; hij maakt gewone FTP niet versleuteld. Wanneer vertrouwelijkheid vereist is, gebruik het beveiligde protocol dat de bestandsserver ondersteunt en de bijbehorende libcurl-build. De beschikbare protocollen van RCurl hangen af van de libcurl-bibliotheek die het gebruikt.