Дайце працэсу curl, запушчанаму з Java, яго праксі-зменныя
Задайце ProcessBuilder.environment для спампоўніка; праксі-ўласцівасці -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().
Сістэмная ўласцівасць Java http.proxyHost належыць удзельнаму сеткаваму коду Java. Curl выкарыстоўвае свае опцыі і асяроддзе. Калі дачэрні працэс — іншая праграма Java, перадайце яму патрэбныя аргументы -D перад галоўным класам або -jar; зменная асяроддзя, якая проста называецца http.proxyHost, не задае гэтую ўласцівасць.