Korištenje Curla u Javi
1. Pregled
U ovom uputstvu ćemo pogledati kako koristiti kovrča alat u Java programu.
Kovrča je mrežni alat koji se koristi za prijenos podataka između poslužitelja i kovrča klijent koristeći protokole poput HTTP-a, FTP-a, TELNET-a i SCP-a.
2. Osnovna upotreba uvojka
Možemo izvršiti kovrča naredbe s Jave pomoću ProcessBuilder - pomoćna klasa za izgradnju instanci Postupak razred.
Pogledajmo primjer slanja naredbi izravno u operativni sustav:
String naredba = "curl -X GET //postman-echo.com/get?foo1=bar1&foo2=bar2"; ProcessBuilder processBuilder = novi ProcessBuilder (command.split (""));
Prvo, kreiramo naredba varijabla prije prosljeđivanja ProcessBuilder konstruktor.
Ovdje je vrijedno napomenuti da ako kovrča izvršna datoteka nije na našem putu sustava, morat ćemo navesti njezin puni put u našem naredbenom nizu.
Tada možemo postaviti radni direktorij za ProcessBuilder i započnite postupak:
processBuilder.directory (nova datoteka ("/ home /")); Procesni postupak = processBuilder.start ();
Odsad možemo dobiti InputStream pristupanjem s Postupak primjer:
InputStream inputStream = process.getInputStream ();
Kada je obrada završena, izlazni kod možemo dobiti s:
int exitCode = process.exitValue ();
Ako trebamo pokrenuti dodatne naredbe, možemo ponovno upotrijebiti ProcessBuilder instance dostavljanjem novih naredbi i argumenata u a Niz niz:
processBuilder.command (novi String [] {"curl", "-X", "GET", "//postman-echo.com?foo=bar"});
Napokon, raskinuti svaki Postupak primjerice, trebali bismo koristiti:
process.destroy ();
3. Jednostavna alternativa ProcessBuilder
Kao alternativa korištenju ProcessBuilder klase, možemo koristiti Runtime.getRuntime () da biste dobili instancu Postupak razred.
Pogledajmo još jedan uzorak kovrča naredba - ovaj put pomoću a OBJAVI zahtjev:
curl -X POST //postman-echo.com/post --data foo1 = bar1 & foo2 = bar2
Sada, izvršimo naredbu pomoću Runtime.getRuntime () metoda:
String naredba = "curl -X POST //postman-echo.com/post --data foo1 = bar1 & foo2 = bar2"; Proces procesa = Runtime.getRuntime (). Exec (naredba);
Prvo, kreiramo instancu Postupak razred opet, ali ovaj put pomoću Runtime.getRuntime (). Možemo dobiti InputStream kao u našem prethodnom primjeru pozivanjem getInputStream () metoda:
process.getInputStream ();
Kada instanca više nije potrebna, trebali bismo osloboditi sistemske resurse pozivom na uništiti() metoda.
4. Zaključak
U ovom smo članku pokazali dva načina korištenja kovrča na Javi.
Ovaj i više primjera koda dostupni su na GitHubu.