डाउनलोडर के इनपुट उसके 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();

पर्यावरण मैप Java प्रक्रिया के पर्यावरण की प्रतिलिपि के रूप में शुरू होता है। ये परिवर्तन इस बिल्डर द्वारा बाद में शुरू की गई प्रक्रियाओं पर लागू होते हैं; ये मूल टर्मिनल या किसी अन्य बिल्डर को अपडेट नहीं करते। यदि curl अब भी सीधे जाता है तो विरासत में मिले बायपास चर जाँचें। सार्वजनिक HTTP डाउनलोड मार्ग के लिए, HTTP प्रॉक्सी सूची से चाइल्ड का एंडपॉइंट चुनें।

उदाहरण मानक स्ट्रीम विरासत में लेता है। चाइल्ड की प्रतीक्षा करें, उसकी निकास स्थिति संभालें और start() के बाद एप्लिकेशन की रद्दीकरण नीति बनाए रखें।

Java का http.proxyHost सिस्टम गुण भाग लेने वाले Java नेटवर्किंग कोड का है। Curl अपने स्वयं के विकल्प और पर्यावरण का उपयोग करता है। यदि चाइल्ड कोई अन्य Java प्रोग्राम है, तो उसे आवश्यक -D तर्क मुख्य वर्ग से पहले या -jar दें; केवल http.proxyHost नाम का पर्यावरण चर वह गुण सेट नहीं करता।

संबंधित लेख