使用RCurl和SFTP

Sta*_*onk 5 sftp r rcurl

我是ftpUpload第一次尝试在RCurl包中使用它.

我正在尝试访问的站点使用sftp协议.我已确保安装libcurl版本,其中包括进行安全连接的能力.

SFTP列在RCurl可用的协议中:

curlVersion()$protocols
[1] "dict"   "file"   "ftp"    "ftps"   "gopher"
[6] "http"   "https"  "imap"   "imaps"  "ldap"  
[11] "pop3"   "pop3s"  "rtmp"   "rtsp"   "scp"   
[16] "sftp"   "smtp"   "smtps"  "telnet" "tftp"
Run Code Online (Sandbox Code Playgroud)

然而,当我运行该fileUpload功能时,我得到:

ftpUpload(what = "some_file.png",
          to = "userid:password@sftp://ec2-some-server-ip.compute-1.amazonaws.com")

Error in function (type, msg, asError = TRUE)  : 
Couldn't resolve host 'sftp'
Run Code Online (Sandbox Code Playgroud)

我也尝试在参数化方面打破useridpassword退出,但我得到相同的响应.

任何建议,将不胜感激.

小智 7

用户 ID 和密码需要在协议之后(这就是为什么您会收到找不到主机 sftp 错误的原因):

ftpUpload(what = "some_file.png",
      to = "sftp://userid:password@ec2-some-server-ip.compute-1.amazonaws.com:22/path/some_file.png")
Run Code Online (Sandbox Code Playgroud)

我还建议在主机后面加上端口号,以防它不是默认的,以及你希望它去的服务器上的文件路径。