R:更改端口以连接SFTP服务器

时间:2016-11-14 14:23:05

标签: r sftp geturl

我与ftp服务器建立连接,代码如下:

url       <- "ftp://MyServer"
userpwd   <- "MyUser:MyPass"
filenames <- getURL(url, userpwd = userpwd, ftp.use.epsv = FALSE, dirlistonly = TRUE, port = 22) 
filen     <- "MyFile.csv"      
rawdata   <- getURL(paste(url, filen, sep = ""), userpwd = userpwd, crlf =  TRUE)

该文件将被移动到SFTP服务器,因此我需要更改输入。这个新的SFTP服务器是通过端口22而不是标准端口21访问的。此时连接失败并出现以下错误

Error in function (type, msg, asError = TRUE)  : 
  Failed to connect to MyServer port 21: Connection refused

它需要错误的端口,但如何告诉R选择端口22?

1 个答案:

答案 0 :(得分:-1)

您需要在URL中指定SFTP协议,因此行

url       <- "ftp://MyServer"

应该成为

url       <- "sftp://MyServer"
然后

getUrl将使用SSH端口(22)。