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.

Articoli correlati