Дајте му на curl процесот стартуван од Java неговите proxy променливи
Поставете ProcessBuilder.environment за преземачот; proxy својствата -D во JVM не стануваат curl опции.
Поставете ги влезовите на преземачот на неговиот 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();Мапата на околината започнува како копија од околината на Java процесот. Овие промени важат за процеси што овој градител ќе ги стартува подоцна; тие не го ажурираат родителскиот терминал ниту друг градител. Проверете ги наследените променливи за заобиколување ако curl сè уште оди директно. За јавна HTTP рута за преземање, изберете ја крајната точка на детето од листата со HTTP прокси-сервери.
Примерот ги наследува стандардните текови. Почекајте го детето, обработете го неговиот излезен статус и задржете ја политиката за откажување на апликацијата по start().
Системското својство http.proxyHost на Java им припаѓа на учествувачкиот Java мрежен код. Curl ги користи сопствените опции и околина. Ако детето е друга Java програма, дајте ѝ ги потребните -D аргументи пред главната класа или -jar; променлива на околината што само се вика http.proxyHost не го поставува тоа својство.