Stel de invoer van de downloader in op zijn 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();

De omgevingsmap begint als een kopie van de omgeving van het Java-proces. Deze wijzigingen gelden voor processen die deze builder later start; ze werken de bovenliggende terminal of een andere builder niet bij. Controleer geërfde bypassvariabelen als curl nog steeds rechtstreeks gaat. Kies voor een openbare HTTP-downloadroute het eindpunt van het kind uit de lijst met HTTP-proxy’s.

Het voorbeeld erft de standaardstromen. Wacht op het kind, verwerk de exitstatus en behoud het annuleringsbeleid van de toepassing na start().

De Java-systeemeigenschap http.proxyHost hoort bij deelnemende Java-netwerkcode. Curl gebruikt zijn eigen opties en omgeving. Als het kind een ander Java-programma is, geef het de benodigde -D-argumenten vóór de hoofdklasse of -jar; een omgevingsvariabele die alleen http.proxyHost heet, stelt die eigenschap niet in.

Gerelateerde artikelen