QProcess संतान को उसका प्रॉक्सी वातावरण दें
एक Qt संतान को दिया जाने वाला वातावरण सेट करें और वे विरासत में मिले मान बनाए रखें जिनकी उसे अब भी आवश्यकता है।
QProcess से शुरू किए जाने वाले डाउनलोडर के लिए, शुरू करने से पहले संतान का वातावरण बनाएँ:
auto* download = new QProcess(parent);
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("https_proxy", "http://proxy.example:8080");
download->setProcessEnvironment(env);
download->start("curl", {"--head", "https://www.example.com/"});यह Qt अंश मौजूदा जनक ऑब्जेक्ट, इवेंट लूप और संतान के लिए उपलब्ध curl मानता है। चलने के दौरान QProcess को जीवित रखें, और उसके पूर्णता तथा त्रुटि संकेतों को अनुप्रयोग में संभालें। प्रॉक्सी क्रेडेंशियल सेट किए बिना इस सार्वजनिक साइट जाँच के लिए, HTTP प्रॉक्सी सूची संतान के प्रॉक्सी मान के लिए उम्मीदवार HTTP एंडपॉइंट देती है।
systemEnvironment से शुरू करने पर PATH जैसे विरासत में मिले मान सुरक्षित रहते हैं। अन्यथा खाली वातावरण बनाकर एक प्रॉक्सी चर जोड़ने से वे अन्य प्रविष्टियाँ छूट जातीं।
चर का नाम ही कुंजी है। export एक शेल कमांड है, उस कुंजी का हिस्सा नहीं है और ऐसा निष्पाद्य भी नहीं है जिसे QProcess पहले चलाए। वातावरण सीधे देने से URL के चारों ओर शेल कमांड बनाने से भी बचा जाता है।
setProcessEnvironment उस प्रक्रिया पर लागू होता है जो इसके बाद शुरू होती है। यह पहले से चल रही संतान या Qt अनुप्रयोग शुरू करने वाले शेल के वातावरण को नहीं बदलता।
चुने गए डाउनलोडर को यह चर समझना चाहिए। यह उदाहरण curl के HTTPS अनुरोध के लिए छोटे अक्षरों वाला https_proxy उपयोग करता है और विरासत में मिले बायपास इनपुट सुरक्षित रखता है। किसी अन्य संतान प्रोग्राम का कोई अन्य प्रॉक्सी इंटरफ़ेस हो सकता है।