Dați procesului curl lansat de Java variabilele sale de proxy
Setați ProcessBuilder.environment pentru descărcător; proprietățile de proxy -D din JVM nu devin opțiuni curl.
Setați intrările descărcătorului pe ProcessBuilder său:
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();Harta mediului începe ca o copie a mediului procesului Java. Aceste modificări se aplică proceselor lansate ulterior de acest builder; nu actualizează terminalul părinte sau alt builder. Verificați variabilele de ocolire moștenite dacă curl merge în continuare direct. Pentru o rută publică de descărcare HTTP, alegeți punctul final al copilului din lista de proxy-uri HTTP.
Exemplul moștenește fluxurile standard. Așteptați copilul, gestionați starea lui de ieșire și păstrați politica de anulare a aplicației după start().
Proprietatea de sistem http.proxyHost a Java aparține codului de rețea Java participant. Curl folosește propriile opțiuni și propriul mediu. Dacă copilul este alt program Java, furnizați-i argumentele -D necesare înaintea clasei principale sau -jar; o variabilă de mediu numită doar http.proxyHost nu setează acea proprietate.