Search code examples
rrcurl

Attempting to download files from SFTP using R


I'm trying to implement R in the workplace and save a bit of time from all the data churning we do.

A lot of files we receive are sent to us via SFTP as they contain sensitive information.

I've looked around on StackOverflow & Google but nothing seems to work for me. I tried using the RCurl Library from an example I found online but it doesn't allow me to include the port(22) as part of the login details.

library(RCurl)
protocol <- "sftp"
server <- "hostname"
userpwd <- "user:password"
tsfrFilename <- "Reports/Excelfile.xlsx"
ouptFilename <- "~/Test.xlsx"

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

I end up getting the error code

Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) : 
embedded nul in string:

Any help would be greatly appreciated as this will save us loads of time!

Thanks,

Shan


Solution

  • Looks like a similar situation here: Using R to download SAS file from ftp-server

    I'm no expert in r but there it looks like getBinaryUrl() worked instead of getURL() in the example given.

    Hope that helps M