2015-12-28 4 views
2

Я могу загрузить локальный файл на удаленный сервер с помощью командыКак Curl удаленный файл на удаленный сервер

curl -T abc.pom -uusername:password URL 

Но я не в состоянии загрузить удаленный файл в этот URL. Команда, которую я использую, это

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

Нельзя ли это сделать? Загружает ли он его, а затем снова загружает его здесь?

+0

другой вариант, который вы хотите использовать scp..и есть опция, которую вы хотите – pmverma

+0

Нет опции scp. Это не мой сервер. Они предоставили только вариант CURL для загрузки. – Diffy

ответ

4

Мой подход:

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

Можно было бы конвейерный содержание файла от 1-го до 2-Curl, но затем второй один должен подготовить HTML форму закодированного тело само по себе. -T является обобщающим для этого - он создает форму и заполнит его непосредственно:

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

Но первый подход - это просто загрузка anf-загрузки. Разве это не так? – Diffy

+0

Да, действительно. Я опубликовал его, поскольку он безопаснее, так как мне не нужно беспокоиться о том, как называются поля в форме или задает тип mime. –

-1

Вы можете свернуться непосредственно с удаленного хоста, посылая команду через ssh к хосту назначения:

ssh [email protected]_host 'curl -o destination_file_path remote_file_url' 
+0

Я уже говорил, что я не могу сделать 'ssh' – Diffy

Смежные вопросы