RCurl voi lähettää FTP:tä HTTP-tunnelin kautta
Käytä httpproxytunnelia, kun välityspalvelimen pitää kuljettaa FTP-protokollaa sen sijaan, että se vastaanottaisi FTP-URL:n sisältävän HTTP GET -pyynnön.
libcurlillä on kaksi eri tapaa käyttää HTTP-välityspalvelinta FTP-URL:lle. Ilman tunnelia se voi lähettää HTTP GET -pyynnön, jonka kohteena on FTP-URL, ja pyytää välityspalvelinta toimimaan FTP-yhdyskäytävänä.
Kun palvelu sen sijaan odottaa HTTP CONNECT -tunnelia, ota RCurl:n vastaava asetus käyttöön:
result <- RCurl::getURL(
"ftp://ftp.example.net/pub/file.txt",
.opts = list(
proxy = "http://proxy.example.net:8080",
httpproxytunnel = TRUE
)
)
Välityspalvelimen on sallittava yhteydet FTP-palvelimen vaadittuihin portteihin. Palvelu, joka on rajoitettu CONNECTiin portissa 443, voi hylätä FTP:n ohjausyhteyden, vaikka tavallinen HTTPS-selailu toimisi.
FTP käyttää myös erillistä datayhteyttä listaukseen tai siirtoon. Onnistunut ohjausistunto ei todista, että neuvoteltu datakohde on sallittu välittäjän kautta.
Tämä tila kuljettaa FTP-protokollaa tunnelin kautta; se ei salaa tavallista FTP:tä. Kun luottamuksellisuutta tarvitaan, käytä tiedostopalvelimen tukemaa turvallista protokollaa ja vastaavaa libcurl-käännöstä. RCurl:n käytettävissä olevat protokollat riippuvat sen käyttämästä libcurl-kirjastosta.