Dalle as súas variables de proxy a un proceso curl lanzado por Java
Configura ProcessBuilder.environment para o descargador; as propiedades de proxy -D da JVM non se converten en opcións de curl.
Configura as entradas do descargador no 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();O mapa de contorno comeza como unha copia do contorno do proceso Java. Estes cambios aplícanse a procesos que este construtor inicie despois; non actualizan o terminal pai nin outro construtor. Comproba as variables de omisión herdadas se curl segue indo directo. Para unha ruta de descarga HTTP pública, escolle o punto final do fillo na lista de proxys HTTP.
O exemplo herda os fluxos estándar. Espera o fillo, xestiona o seu estado de saída e conserva a política de cancelación da aplicación despois de start().
A propiedade de sistema http.proxyHost de Java pertence ao código de rede Java que participa. Curl usa as súas propias opcións e o seu propio contorno. Se o fillo é outro programa Java, pásalle os argumentos -D que necesita antes da clase principal ou -jar; unha variable de contorno que só se chame http.proxyHost non define esa propiedade.