Dajte procesu curl, ki ga zažene Java, njegove proxy spremenljivke
Nastavite ProcessBuilder.environment za prenašalnik; proxy lastnosti -D v JVM ne postanejo možnosti curl.
Nastavite vhode prenašalnika na njegov 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();Zemljevid okolja se začne kot kopija okolja procesa Java. Te spremembe veljajo za procese, ki jih ta graditelj zažene pozneje; ne posodabljajo nadrejenega terminala ali drugega graditelja. Preverite podedovane spremenljivke zaobidenja, če curl še vedno gre neposredno. Za javno pot prenosa HTTP izberite končno točko otroka s seznama proxyjev HTTP.
Primer podeduje standardne tokove. Počakajte otroka, obdelajte njegovo izhodno stanje in ohranite politiko preklica aplikacije po start().
Sistemska lastnost Java http.proxyHost pripada sodelujoči javanski omrežni kodi. Curl uporablja svoje možnosti in svoje okolje. Če je otrok drug program Java, mu zagotovite potrebne argumente -D pred glavnim razredom ali -jar; spremenljivka okolja, ki se samo imenuje http.proxyHost, te lastnosti ne nastavi.