Postavite ulaze preuzimača 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();

Mapa okruženja počinje kao kopija okruženja Java procesa. Ove promene važe za kasnije procese koje pokrene ovaj graditelj; one ne ažuriraju roditeljski terminal ni drugi graditelj. Proverite nasleđene varijable zaobilaženja ako curl i dalje ide direktno. Za javnu HTTP rutu preuzimanja odaberite krajnju tačku deteta sa liste HTTP proxyja.

Primer nasleđuje standardne tokove. Sačekajte dete, obradite njegov status izlaza i zadržite politiku otkazivanja aplikacije nakon start().

Java sistemsko svojstvo http.proxyHost pripada učestvujućem Java mrežnom kodu. Curl koristi sopstvene opcije i okruženje. Ako je dete drugi Java program, dostavite mu potrebne -D argumente pre glavne klase ili -jar; promenljiva okruženja koja se samo zove http.proxyHost ne postavlja to svojstvo.

Povezani članci