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.

Aiheeseen liittyvät artikkelit