Το 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 που χρησιμοποιεί.

Σχετικά άρθρα