Nastavte vstupy sťahovača na jeho 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 prostredia začína ako kópia prostredia procesu Java. Tieto zmeny platia pre procesy spustené neskôr týmto builderom; neaktualizujú nadradený terminál ani iný builder. Skontrolujte zdedené premenné obchádzania, ak curl stále ide priamo. Pre verejnú trasu sťahovania HTTP vyberte koncový bod potomka zo zoznamu HTTP proxy.

Príklad dedí štandardné prúdy. Počkajte na potomka, ošetrite jeho stav ukončenia a zachovajte zásady zrušenia aplikácie po start().

Systémová vlastnosť http.proxyHost v Jave patrí zúčastnenému sieťovému kódu Javy. Curl používa svoje vlastné voľby a prostredie. Ak je potomkom iný program Java, odovzdajte mu potrebné argumenty -D pred hlavnou triedou alebo -jar; premenná prostredia, ktorá sa len volá http.proxyHost, túto vlastnosť nenastaví.

Súvisiace články