RCurl puede enviar FTP a través de un túnel HTTP
Use httpproxytunnel cuando el proxy deba transportar el protocolo FTP en lugar de recibir un HTTP GET con una URL de FTP.
libcurl tiene dos formas distintas de usar un proxy HTTP para una URL de FTP. Sin túnel, puede enviar un HTTP GET cuyo destino es la URL de FTP, pidiendo al proxy que actúe como pasarela FTP.
Cuando el servicio espera en cambio un túnel HTTP CONNECT, active la opción correspondiente de RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
El proxy debe permitir conexiones a los puertos necesarios del servidor FTP. Un servicio limitado a CONNECT en 443 puede rechazar la conexión de control de FTP incluso cuando la navegación HTTPS normal funciona.
FTP también usa una conexión de datos aparte para un listado o una transferencia. Un inicio de sesión de control correcto no demuestra que el destino de datos negociado esté permitido a través del intermediario.
Este modo transporta el protocolo FTP por un túnel; no cifra el FTP simple. Cuando se requiera confidencialidad, use el protocolo seguro que admita el servidor de archivos y la compilación de libcurl correspondiente. Los protocolos disponibles de RCurl dependen de la biblioteca libcurl que utilice.