RCurl може да изпраща FTP през HTTP тунел
Използвайте httpproxytunnel, когато проксито трябва да пренася FTP протокола, вместо да получава HTTP GET, съдържащ FTP адрес.
libcurl има два различни начина да използва HTTP прокси за FTP адрес. Без тунел той може да изпрати HTTP GET, чиято цел е FTP адресът, и да помоли проксито да действа като FTP шлюз.
Когато услугата вместо това очаква тунел HTTP CONNECT, включете съответната опция на RCurl:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Проксито трябва да разрешава връзки към нужните портове на FTP сървъра. Услуга, ограничена до CONNECT на 443, може да отхвърли контролната връзка на FTP, дори когато обичайното HTTPS сърфиране работи.
FTP също използва отделна връзка за данни за списък или трансфер. Успешното влизане в контролния канал не доказва, че договорената дестинация за данни е разрешена през посредника.
Този режим пренася FTP протокола през тунел; той не прави обикновения FTP криптиран. Когато е нужна поверителност, използвайте поддържания от файловия сървър защитен протокол и съответната сборка на libcurl. Наличните протоколи в RCurl зависят от библиотеката libcurl, която използва.