简体   繁体   中英

How can I CURL a remote file to a remote server

I am able to upload a local file to a remote server using the command

curl -T abc.pom -uusername:password URL

But I am not able to upload a remote file to that URL. The command I am using is this

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

Is it not possible to do this? Is downloading it and then uploading it again the only option here?

My approach:

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

It might be possible to pipe the content of file from 1st to 2nd cURL but then the second one has to prepare the HTML form-encoded body by itself. The -T is a shorthand for this - it creates the form and populates it directly:

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

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

ssh user@destination_host 'curl -o destination_file_path remote_file_url'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM