2017-09-25 78 views
0

我已經閱讀了與R的sftp幾個職位,但無法解決我的問題。有一個體面的變化,我只是沒有在正確的地方尋找,如果是這樣的話,請指出正確的方向。這裏就是我在我:sftp與R - sftp不是與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] "" 

向右走,我注意到,SFTP是不是在我的當前版本RCurl的,這是我的主要問題接受了協議。因此,當我運行下面的代碼時,出現以下錯誤:

# 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 

我其實還有第二個問題。我的理解是,getURL從其他服務器獲取數據並將其提取到本地計算機,而我想從本地計算機將文件放到服務器上。 (1)我可以在R中更新RCurl/libcurl以支持sftp,以及(2)如何將本地機器上的文件放入服務器,而不是將文件從服務器上傳到本地機器上?

謝謝!

回答