我一直在使用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之外寻求解决方案,也能提供任何帮助。
答案 0 :(得分:1)
也许更安全的方式来传递用户名和密码是通过userpwd=
参数。例如
ftpUpload(what = file,
to = "sftp://site.net/incoming/subfolder/data.csv",
userpwd="user@school.edu:password")