RCurl può inviare FTP attraverso un tunnel HTTP
Usate httpproxytunnel quando il proxy deve trasportare il protocollo FTP invece di ricevere un HTTP GET contenente un URL FTP.
libcurl ha due modi diversi per usare un proxy HTTP per un URL FTP. Senza tunnel, può inviare un HTTP GET il cui obiettivo è l'URL FTP, chiedendo al proxy di agire come gateway FTP.
Quando invece il servizio prevede un tunnel HTTP CONNECT, abilitate l'opzione corrispondente di RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Il proxy deve consentire le connessioni alle porte richieste dal server FTP. Un servizio limitato a CONNECT sulla 443 può rifiutare la connessione di controllo FTP anche quando la normale navigazione HTTPS funziona.
FTP usa anche una connessione dati separata per un elenco o un trasferimento. Un accesso di controllo riuscito non dimostra che la destinazione dati negoziata sia consentita attraverso l'intermediario.
Questa modalità trasporta il protocollo FTP attraverso un tunnel; non rende cifrato il semplice FTP. Quando serve riservatezza, usate il protocollo sicuro supportato dal file server e la build di libcurl corrispondente. I protocolli disponibili di RCurl dipendono dalla libreria libcurl utilizzata.