【问题标题】:How can I CURL a remote file to a remote server如何将远程文件卷曲到远程服务器
【发布时间】:2015-12-28 11:50:27
【问题描述】:

我可以使用命令将本地文件上传到远程服务器

curl -T abc.pom -uusername:password URL

但我无法将远程文件上传到该 URL。我正在使用的命令是这个

curl -T remote-file-url -uusername:password URL

不能这样做吗?下载然后再次上传是这里唯一的选择吗?

【问题讨论】:

  • 你想要的另一个选项是使用 scp..它有你想要的选项
  • 没有 scp 选项。它不是我的服务器。他们只提供了 CURL 选项来上传。

标签: linux shell curl


【解决方案1】:

我的做法:

TF=/tmp/temp && curl <REMOTE_FILE_URL> -o $TF && curl -T $TF <UPLOAD_URL> && rm -f $TF

也许可以将文件的内容从第一个 cURL 传输到第二个 cURL,但是第二个 cURL 必须自己准备 HTML 表单编码的正文。 -T 是对此的简写 - 它创建表单并直接填充它:

curl <REMOTE_FILE_URL> | curl -i -X POST -H "Content-Type: multipart/form-data" -d @- <UPLOAD_URL>

【讨论】:

  • 但第一种方法只是下载和上传。不是吗?
  • 确实如此。我发布它是因为它更安全,因为我不必担心表单中的字段如何命名或自己设置 mime 类型。
【解决方案2】:

您可以通过ssh 向目标主机发送命令,直接从远程主机卷曲:

ssh user@destination_host 'curl -o destination_file_path remote_file_url'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2011-05-09
    • 1970-01-01
    • 2013-07-13
    相关资源
    最近更新 更多