Я использую сервер Java, который предоставляет в RESTful API по следующему URL-адресу:задерживаясь веб-сервис Java: завиток или URLConnection
http://localhost:8080/my-server/
Документах рекомендуется использовать curl
для отправки простых PUT
запросов (загрузки файлов), и настоятельно рекомендуем пользователям использовать те же аргументы, что и в примерах. Все примеры выглядят так:
curl -X PUT -f -u admin:password --data-binary @/absolute/path/file/to/upload/file.ext "http://localhost:8080/my-server/file.ext"
Этот сервер не будет работать с FTP или любым другим обычным протоколом передачи.
Я нашел this вопрос на SO, где ответ-эр рекомендуется использовать java.net.URL
и его компаньон java.net.URLConnection
вместо того, чтобы пытаться работать с завитком/Libcurl.
Я никогда не запускал команду curl
, поэтому я прошу всех, кто знает как curl, так и Java, если URL/URLConnection (или любая другая инфраструктура Java) можно использовать вместо завивки для моей конкретной проблемы. Если нет, тогда мне придется написать компонент, который выполняет команды из локальной командной строки/терминала, а затем выполнить вышеприведенную команду curl
внутри этого компонента, и это просто кажется уродливым/противным.
Если я могу выполнить одно и то же в API-интерфейсе Java, я бы предпочел сделать это таким образом.
И если это можно сделать на Java, как использовать URL/URLConnection для установки точных аргументов команды в качестве примера, который я представил? В частности:
-X
PUT
-f
-u admin:password
--data-binary
[email protected]/path/...
Заранее спасибо за любые инов здесь или подталкивает в правильном направлении!
Вы также можете дать [HttpClient] (http://hc.apache.org/httpclient-3.x/) попробуйте. – RanRag
Спасибо @RanRag - поддерживает ли 'httpclient' все аргументы, которые мне нужны? – IAmYourFaja