【发布时间】:2019-06-04 09:10:39
【问题描述】:
我一直在使用 R 函数 getURL() 从远程 FTP 服务器在 RStudio 上加载数据。但是,这需要在脚本中显示我的用户名和密码。
require("RCurl")
getURL("ftp://directory/filename.txt", userpwd="user:pwd")
有没有办法隐藏这些信息?
【问题讨论】:
标签: r server ftp privacy geturl
我一直在使用 R 函数 getURL() 从远程 FTP 服务器在 RStudio 上加载数据。但是,这需要在脚本中显示我的用户名和密码。
require("RCurl")
getURL("ftp://directory/filename.txt", userpwd="user:pwd")
有没有办法隐藏这些信息?
【问题讨论】:
标签: r server ftp privacy geturl
您可以使用 Keyring 包。
library(keyring)
key_set(service = "curl_page",
username = "joe")
然后在请求时输入您的密码。然后您可以使用以下方法检索它:
require("RCurl")
getURL("ftp://directory/filename.txt", userpwd=key_get("curl_page",username = "joe"))
【讨论】:
这是一个猜测,因为我不熟悉 R,但执行此操作的正常方法(在任何语言中)是通过从外部源设置的环境变量传递用户名和密码,例如作为.env 文件,该文件未检入您的源代码库,或者从您的虚拟机管理程序处理的设置中传入(如果有的话)。这样,您的凭据就不会出现在您的存储库中,也不会直接出现在源代码中。如果您想在不同的上下文中运行代码,例如本地、测试、阶段、生产等,这也很方便。
This answer 看起来像是对如何在 R 中执行此操作的合理描述。
【讨论】: