Gefðu curl-ferli sem Java ræsir proxy-breyturnar sínar
Stilltu ProcessBuilder.environment fyrir niðurhalarann; -D proxy-eiginleikar JVM verða ekki curl-valkostir.
Stilltu inntak niðurhalarans á ProcessBuilder hans:
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();Umhverfiskortið byrjar sem afrit af umhverfi Java-ferlisins. Þessar breytingar gilda um ferli sem þessi smiður ræsir síðar; þær uppfæra ekki foreldraskjáinn né annan smið. Athugaðu arfleiðdar framhjáhlaupbreytur ef curl fer enn beint. Fyrir opinbera HTTP-niðurhalsleið skaltu velja endapunkt barnsins úr listanum yfir HTTP-milliþjóna.
Dæmið erfir staðalstrauma. Bíddu eftir barninu, meðhöndlaðu útgangsstöðu þess og haltu afturköllunarstefnu forritsins eftir start().
Kerfiseiginleikinn http.proxyHost í Java tilheyrir Java-netkerfiskóða sem tekur þátt. Curl notar eigin valkosti og eigið umhverfi. Ef barnið er annað Java-forrit skaltu gefa því nauðsynleg -D rök fyrir aðalklasann eða -jar; umhverfisbreyta sem heitir bara http.proxyHost stillir ekki þann eiginleika.