Использование команды curl в java
У меня есть команда curl, чтобы использовать
curl -s -d user.name=xxxx \ -d file=yyyy \ -d arg=-v \ 'http://localhost:zzzz/templeton/v1/pig'
Может ли кто-нибудь сказать эквивалентный код java для указанной выше команды curl.
заранее спасибо
- Каков наилучший способ избежать исключения NoSuchElementException в Selenium?
- Примеры интенсивного расчета процессора?
- Почему требуется возврат даже после System.exit (0);
- Установка Java на Ubuntu?
- Ключевые привязки и ключевые слушатели в Java
- Ошибка установки Simulia Abaqus в Linux (Mint 17.2)
- Простой сценарий с использованием wait () и notify () в java
- Управление зависимостями DLL с Maven
- Каковы преимущества байт-кода над собственным кодом?
- Как создать несколько controllerов javafx с разными файлами fxml?
- Java Generics: не может использовать List для списка ?
- Сборщик мусора в java - установить объект null
- Случайный взвешенный выбор в Java
Здесь показан пример Processbuilder, выполняющий curl. Этот раздел кода отлично работает в моей среде. Фактически, вы будете выполнять его без проблем. Программа получает изображение из Интернета и сохраняет его как файл jpg. Файл jpg сохраняется по пути «/ home / your_user_name / Pictures».
import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; public class ProcessBuilderTest { public static void main(String arg[]) throws IOException { ProcessBuilder pb = new ProcessBuilder( "curl", "-s", "http://sofru.miximages.com/java/the-simpsons-season-22-episode-13-the-blue-and-the-gray.jpg "); pb.directory(new File("/home/your_user_name/Pictures")); pb.redirectErrorStream(true); Process p = pb.start(); InputStream is = p.getInputStream(); FileOutputStream outputStream = new FileOutputStream( "/home/your_user_name/Pictures/simpson_download.jpg"); BufferedInputStream bis = new BufferedInputStream(is); byte[] bytes = new byte[100]; int numberByteReaded; while ((numberByteReaded = bis.read(bytes, 0, 100)) != -1) { outputStream.write(bytes, 0, numberByteReaded); Arrays.fill(bytes, (byte) 0); } outputStream.flush(); outputStream.close(); } }
За ваши вопросы. Это наиболее прямо и интуитивно отображать curl для Java-кода при использовании Processbuilder. Просто напишите так:
curl -s -d user.name=xxxx \ -d file=yyyy \ -d arg=-v \ 'htttp://localhost:zzzz/templeton/v1/pig'
стали
ProcessBuilder pb = new ProcessBuilder("-s","-d user.name=xxxx ","-d `file=yyyy","-d rg=-v" ,"htttp://localhost:zzzz/templeton/v1/pig");`