8

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"

然而,当我运行该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'

我也尝试过在参数化方面打破常规useridpassword但我得到了相同的响应。

任何建议,将不胜感激。

4

1 回答 1

8

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

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

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

于 2017-08-18T10:56:54.117 回答