Dona les variables de proxy al procés curl llançat per Java
Defineix ProcessBuilder.environment per al descarregador; les propietats de proxy -D de la JVM no es converteixen en opcions de curl.
Defineix les entrades del descarregador al seu 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();El mapa d'entorn comença com una còpia de l'entorn del procés Java. Aquests canvis s'apliquen als processos que iniciï després aquest constructor; no actualitzen el terminal pare ni un altre constructor. Comprova les variables d'omissió heretades si curl continua anant directe. Per a una ruta de descàrrega HTTP pública, tria el punt final del fill a la llista de proxys HTTP.
L'exemple hereta els fluxos estàndard. Espera el fill, gestiona'n l'estat de sortida i conserva la política de cancel·lació de l'aplicació després de start().
La propietat de sistema http.proxyHost de Java pertany al codi de xarxa de Java que hi participa. Curl fa servir les seves pròpies opcions i el seu entorn. Si el fill és un altre programa Java, proporciona-li els arguments -D que necessita abans de la classe principal o -jar; una variable d'entorn que només es digui http.proxyHost no defineix aquesta propietat.