Nustatykite atsisiuntėjo įvestis jo 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();

Aplinkos žemėlapis prasideda kaip Java proceso aplinkos kopija. Šie pakeitimai galioja procesams, kuriuos šis kūrėjas paleis vėliau; jie neatnaujina pagrindinio terminalo ar kito kūrėjo. Patikrinkite paveldėtus aplinkos apėjimo kintamuosius, jei curl vis dar eina tiesiogiai. Viešam HTTP atsisiuntimo maršrutui pasirinkite vaiko galinį tašką iš HTTP tarpinių serverių sąrašo.

Pavyzdys paveldi standartinius srautus. Palaukite vaiko, apdorokite jo išėjimo būseną ir išsaugokite programos atšaukimo politiką po start().

Java sistemos savybė http.proxyHost priklauso dalyvaujančiam Java tinklo kodui. Curl naudoja savo parinktis ir aplinką. Jei vaikas yra kita Java programa, perduokite jai reikiamus -D argumentus prieš pagrindinę klasę arba -jar; aplinkos kintamasis, kuris tiesiog vadinasi http.proxyHost, tos savybės nenustato.

Susiję straipsniai