Adja meg a Java által indított curl folyamat proxys változóit
Állítsa be a ProcessBuilder.environment értékét a letöltőhöz; a JVM -D proxy tulajdonságai nem válnak curl kapcsolókká.
Állítsa be a letöltő bemeneteit a ProcessBuilder példányán:
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();A környezeti térkép a Java folyamat környezetének másolataként indul. Ezek a módosítások az ezzel az építővel később indított folyamatokra érvényesek; nem frissítik a szülő terminált és egy másik építőt sem. Ellenőrizze az örökölt megkerülő változókat, ha a curl továbbra is közvetlenül megy. Nyilvános HTTP-letöltési útvonalhoz válassza ki a gyermek végpontját a HTTP-proxyk listájából.
A példa örökli a szabványos streameket. Várjon a gyermekre, kezelje annak kilépési állapotát, és tartsa meg az alkalmazás megszakítási szabályzatát start() után.
A Java http.proxyHost rendszertulajdonsága a részt vevő Java hálózati kódhoz tartozik. A curl a saját kapcsolóit és környezetét használja. Ha a gyermek egy másik Java-program, adja meg neki a szükséges -D argumentumokat a fő osztály előtt vagy -jar; egy egyszerűen http.proxyHost nevű környezeti változó nem állítja be ezt a tulajdonságot.