RCurl potrafi wysyłać FTP przez tunel HTTP
Użyj httpproxytunnel, gdy proxy ma przenosić protokół FTP, a nie odbierać HTTP GET z adresem FTP.
libcurl ma dwa różne sposoby używania proxy HTTP dla adresu FTP. Bez tunelu może wysłać HTTP GET, którego celem jest adres FTP, i poprosić proxy o działanie jako brama FTP.
Gdy usługa oczekuje zamiast tego tunelu HTTP CONNECT, włącz odpowiednią opcję RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Proxy musi zezwalać na połączenia do wymaganych portów serwera FTP. Usługa ograniczona do CONNECT na porcie 443 może odrzucić połączenie sterujące FTP, nawet gdy zwykłe przeglądanie HTTPS działa.
FTP używa także osobnego połączenia danych do listowania lub transferu. Udane logowanie sterujące nie dowodzi, że wynegocjowany cel danych jest dozwolony przez pośrednika.
Ten tryb przenosi protokół FTP przez tunel; nie szyfruje zwykłego FTP. Gdy wymagana jest poufność, użyj bezpiecznego protokołu obsługiwanego przez serwer plików i odpowiedniej kompilacji libcurl. Dostępne protokoły RCurl zależą od używanej biblioteki libcurl.