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.