Používanie Curl v Jave

1. Prehľad

V tomto výučbe sa pozrieme na to, ako používať zvlnenie nástroj vo vnútri programu Java.

Curl je sieťový nástroj používaný na prenos údajov medzi serverom a serverom zvlnenie zákazník pomocou protokolov ako HTTP, FTP, TELNET a SCP.

2. Základné použitie zvlnenia

Môžeme vykonať zvlnenie príkazy z Javy pomocou ProcessBuilder - pomocná trieda pre vytváranie inštancií Proces trieda.

Pozrime sa na príklad odosielania príkazov priamo do operačného systému:

String command = "curl -X ZÍSKAŤ //postman-echo.com/get?foo1=bar1&foo2=bar2"; ProcessBuilder processBuilder = nový ProcessBuilder (command.split ("")); 

Najskôr vytvoríme príkaz premenná pred jej odovzdaním ProcessBuilder konštruktér.

Tu stojí za zmienku, že ak zvlnenie spustiteľný súbor nie je na našej systémovej ceste, budeme musieť uviesť celú cestu v našom príkazovom reťazci.

Potom môžeme nastaviť pracovný adresár pre ProcessBuilder a spustite proces:

processBuilder.directory (nový súbor ("/ home /")); Proces proces = processBuilder.start (); 

Od tejto chvíle môžeme získať InputStream prístupom z Proces inštancia:

InputStream inputStream = process.getInputStream (); 

Po dokončení spracovania môžeme výstupný kód získať pomocou:

int exitCode = process.exitValue (); 

Ak potrebujeme spustiť ďalšie príkazy, môžeme znova použiť ProcessBuilder napríklad odovzdaním nových príkazov a argumentov v a String pole:

processBuilder.command (nový reťazec [] {"curl", "-X", "GET", "//postman-echo.com?foo=bar"}); 

Nakoniec každú ukončiť Proces mali by sme použiť napríklad:

process.destroy (); 

3. Jednoduchá alternatíva k ProcessBuilder

Ako alternatívu k použitiu ProcessBuilder triedy, môžeme použiť Runtime.getRuntime () získať inštanciu Proces trieda.

Uvidíme ďalšiu ukážku zvlnenie príkaz - tentokrát pomocou a POST požiadavka:

curl -X POST //postman-echo.com/post --data foo1 = bar1 & foo2 = bar2

Teraz vykonajme príkaz pomocou Runtime.getRuntime () metóda:

Reťazcový príkaz = "curl -X POST //postman-echo.com/post --data foo1 = bar1 & foo2 = bar2"; Proces proces = Runtime.getRuntime (). Exec (príkaz); 

Najskôr vytvoríme inštanciu súboru Proces triedy opäť, ale tentokrát s využitím Runtime.getRuntime (). Môžeme dostať InputStream ako v našom predchádzajúcom príklade volaním getInputStream () metóda:

process.getInputStream ();

Ak inštancia už nie je potrebná, mali by sme uvoľniť systémové prostriedky zavolaním na zničiť () metóda.

4. Záver

V tomto článku sme si ukázali dva spôsoby použitia zvlnenie v Jave.

Tento a ďalšie príklady kódu sú k dispozícii na stránkach GitHub.


$config[zx-auto] not found$config[zx-overlay] not found