2017-09-25 1 views
0

J'ai lu quelques messages sur sftp avec R, mais n'a pas été en mesure de résoudre le problème que j'ai. Il y a un changement décent que je ne cherche pas au bon endroit, et si c'est le cas, veuillez me diriger dans la bonne direction. Voilà où je suis:sftp avec R - sftp pas un protocole avec RCurl

> library(RCurl) 
> curlVersion() 
$age 
[1] 3 

$version 
[1] "7.43.0" 

$vesion_num 
[1] 469760 

$host 
[1] "x86_64-apple-darwin15.0" 

$features 
    ipv6  ssl  libz  ntlm asynchdns spnego largefile ntlm_wb 
     1   4   8  16  128  256  512  32768 

$ssl_version 
[1] "SecureTransport" 

$ssl_version_num 
[1] 0 

$libz_version 
[1] "1.2.5" 

$protocols 
[1] "dict" "file" "ftp" "ftps" "gopher" "http" "https" "imap" "imaps" "ldap" "ldaps" "pop3" "pop3s" "rtsp" "smb" "smbs" "smtp" "smtps" "telnet" "tftp" 

$ares 
[1] "" 

$ares_num 
[1] 0 

$libidn 
[1] "" 

Tout de suite, je remarque que sftp est pas un protocole accepté dans ma version actuelle de Rbordage, qui est mon principal problème. En conséquence, quand je lance le code suivant ci-dessous, je reçois l'erreur suivante:

# Input 
protocol <- "sftp" 
server <- "00.000.00.00" 
userpwd <- "userid:userpass" 
tsfrFilename <- 'myfile.txt' 
ouptFilename <- 'myfile.txt' 

# Run 
url <- paste0(protocol, "://", server, tsfrFilename) 
data <- getURL(url = url, userpwd = userpwd) 

Error in function (type, msg, asError = TRUE) : 
    Protocol "sftp" not supported or disabled in libcurl 

J'ai une deuxième question aussi bien. Ma compréhension est que getURL saisit des données de l'autre serveur et les tire sur ma machine locale, alors que je voudrais mettre un dossier sur le serveur de ma machine locale. Pour résumer: (1) puis-je mettre à jour RCurl/libcurl dans R pour prendre en charge sftp, et (2) comment puis-je mettre des fichiers de ma machine locale dans le serveur, plutôt que d'obtenir des fichiers du serveur sur ma machine locale ?

Merci!

Répondre