Postavite ulaze preuzimatelja na njegov ProcessBuilder:

var command = new ProcessBuilder(
    "/usr/bin/curl", "--fail", "--max-time", "30",
    "https://downloads.example/data.csv");
var environment = command.environment();
environment.put("http_proxy", "http://proxy.example:8080");
environment.put("https_proxy", "http://proxy.example:8080");
command.inheritIO();
Process child = command.start();

Karta okruženja počinje kao kopija okruženja Java procesa. Ove promjene vrijede za kasnije procese koje pokrene ovaj graditelj; ne ažuriraju roditeljski terminal ni drugi graditelj. Provjerite naslijeđene varijable zaobilaženja ako curl i dalje ide izravno. Za javnu HTTP rutu preuzimanja odaberite krajnju točku djeteta s popisa HTTP proxyja.

Primjer nasljeđuje standardne tokove. Pričekajte dijete, obradite njegov status izlaza i zadržite politiku otkazivanja aplikacije nakon start().

Java sistemsko svojstvo http.proxyHost pripada sudjelujućem Java mrežnom kodu. Curl rabi vlastite opcije i okruženje. Ako je dijete drugi Java program, dostavite mu potrebne -D argumente prije glavne klase ili -jar; varijabla okruženja koja se samo zove http.proxyHost ne postavlja to svojstvo.

Povezani članci