Sett inndataene til nedlasteren på 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();

Miljøkartet starter som en kopi av Java-prosessens miljø. Disse endringene gjelder prosesser som denne byggeren starter senere; de oppdaterer ikke foreldreterminalen eller en annen bygger. Kontroller arvede omgåelsesvariabler hvis curl fortsatt går direkte. For en offentlig HTTP-nedlastingsrute, velg endepunktet til barnet fra listen over HTTP-proxyer.

Eksempelet arver standardstrømmene. Vent på barnet, håndter utgangsstatusen og behold applikasjonens avbrytningspolicy etter start().

Java-systemegenskapen http.proxyHost tilhører deltakende Java-nettverkskode. Curl bruker sine egne valg og sitt eget miljø. Hvis barnet er et annet Java-program, gi det de nødvendige -D-argumentene før hovedklassen eller -jar; en miljøvariabel som bare heter http.proxyHost setter ikke den egenskapen.

Relaterte artikler