如何使用 R 中的 {curl} 包从 SFTP 服务器删除文件

问题描述 投票:0回答:1

我尝试使用 R 中的

curl
包删除 SFTP 服务器上的文件,但失败了

PackageVersion('curl'): # 5.2.0

curl::curl_fetch_memory(
  url = "sftp://username:password@server-ip-address", 
  handle = curl::new_handle() |> 
    curl::handle_setopt(
      verbose = TRUE,
      customrequest = "rm files/my_file.txt"
    )
  
)

我也尝试过使用

customrequest = "DELETE files/my_file.txt"
但什么也没有

检查它是否在命令行工具中工作

curl

Powershell
中,以下工作正常

curl sftp://username:password@server-ip-address -Q 'rm files/my_file.txt'

如有任何帮助,我们将不胜感激

r curl
1个回答
0
投票

我认为问题是你必须使用

quote
选项而不是
customrequest
来执行 sftp 命令。您可以尝试一下这是否适合您:

curl::curl_fetch_memory(
  url = "sftp://username:password@server-ip-address", 
  handle = curl::new_handle() |> 
    curl::handle_setopt(
      verbose = TRUE,
      quote = "rm files/my_file.txt"
    )
)

quote
选项是一个字符向量,因此您可以在一个请求中运行多个
rm
命令。

顺便说一句,我建议您运行本地 ssh-agent,这样您就不需要在 R 代码中指定任何

username:password

© www.soinside.com 2019 - 2024. All rights reserved.