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

Using package RCurl ftpUpload with @ symbol in the username

我一直在使用 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 之外工作以寻求解决方案。

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

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