Sæt downloaderens input på dens 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økortet starter som en kopi af Java-processens miljø. Disse ændringer gælder for senere processer, som denne builder starter; de opdaterer ikke forældreterminalen eller en anden builder. Kontroller nedarvede bypassvariabler, hvis curl stadig går direkte. For en offentlig HTTP-downloadrute skal du vælge barnets endepunkt fra listen over HTTP-proxyer.

Eksemplet arver standardstrømme. Vent på barnet, håndter dets afslutningsstatus, og bevar applikationens annulleringspolitik efter start().

Javas systemegenskab http.proxyHost tilhører deltagende Java-netværkskode. Curl bruger sine egne tilvalg og sit eget miljø. Hvis barnet er et andet Java-program, skal du give det de nødvendige -D-argumenter før hovedklassen eller -jar; en miljøvariabel, der blot hedder http.proxyHost, sætter ikke den egenskab.

Relaterede artikler