Java ishga tushirgan curl jarayoniga uning proxy o‘zgaruvchilarini bering
Yuklovchi uchun ProcessBuilder.environment ni o‘rnating; JVM dagi -D proxy xossalari curl tanlovlariga aylanmaydi.
Yuklovchining kirishlarini uning ProcessBuilder da o‘rnating:
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();Muhit xaritasi Java jarayoni muhitining nusxasi sifatida boshlanadi. Bu o‘zgarishlar ushbu quruvchi keyinroq ishga tushiradigan jarayonlarga taalluqli; ular ota terminalni yoki boshqa quruvchini yangilamaydi. Agar curl hali ham to‘g‘ridan-to‘g‘ri ketsa, meros qolgan chetlab o‘tish o‘zgaruvchilarini tekshiring. Ommaviy HTTP yuklab olish yo‘li uchun bola jarayonning oxirgi nuqtasini HTTP proksilar ro‘yxatidan tanlang.
Misol standart oqimlarni meros oladi. Bolani kuting, uning chiqish holatini boshqaring va start() dan keyin ham ilovaning bekor qilish siyosatini saqlang.
Java ning http.proxyHost tizim xossasi ishtirok etuvchi Java tarmoq kodiga tegishli. Curl o‘z tanlovlari va muhitidan foydalanadi. Agar bola boshqa Java dasturi bo‘lsa, unga kerakli -D argumentlarini asosiy sinfdan oldin yoki -jar bering; faqat http.proxyHost deb nomlangan muhit o‘zgaruvchisi bu xossani o‘rnatmaydi.