O RCurl pode enviar FTP através de um túnel HTTP
Use httpproxytunnel quando o proxy deve transportar o protocolo FTP em vez de receber um HTTP GET com uma URL de FTP.
O libcurl tem duas formas diferentes de usar um proxy HTTP para uma URL de FTP. Sem túnel, ele pode enviar um HTTP GET cujo alvo é a URL de FTP, pedindo ao proxy que atue como gateway FTP.
Quando o serviço espera, em vez disso, um túnel HTTP CONNECT, ative a opção correspondente do RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
O proxy deve permitir conexões às portas exigidas pelo servidor FTP. Um serviço limitado a CONNECT na 443 pode rejeitar a conexão de controle do FTP mesmo quando a navegação HTTPS comum funciona.
O FTP também usa uma conexão de dados separada para uma listagem ou transferência. Um login de controle bem-sucedido não prova que o destino de dados negociado seja permitido através do intermediário.
Este modo transporta o protocolo FTP por um túnel; ele não torna o FTP simples criptografado. Quando a confidencialidade for necessária, use o protocolo seguro suportado pelo servidor de arquivos e a compilação de libcurl correspondente. Os protocolos disponíveis do RCurl dependem da biblioteca libcurl utilizada.