在用户名中使用带有@符号的RCurl ftpUpload软件包

时间:2019-06-07 19:47:15

标签: r sftp rcurl

我一直在使用RCurl包将数据从SFTP提取到内存中,并试图将转换后的数据上传到其他SFTP中。我遇到的问题是,在新SFTP上分配的用户名中带有@符号。当我尝试运行以下代码(敏感信息已删除)时:

ftpUpload(what = file,
          to = "sftp://user@school.edu:password@site.net/incoming/subfolder/data.csv")

出现以下错误:

Error in function (type, msg, asError = TRUE)  : 
  Failed to connect to school.edu port 22: Timed out

@符号造成了一个问题,文件试图将其上传到错误的位置(school.edu,而不是site.net)。很遗憾,我无法更改用户名,因为我被告知该网站会自动生成用户名,并将始终使用@符号。我真的对SFTP不太了解,因此即使能在R之外寻求解决方案,也能提供任何帮助。

1 个答案:

答案 0 :(得分:1)

也许更安全的方式来传递用户名和密码是通过userpwd=参数。例如

ftpUpload(what = file, 
  to = "sftp://site.net/incoming/subfolder/data.csv",
  userpwd="user@school.edu:password")