በ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 ይጠቀማል፣ የተወረሱ የማለፊያ ግቤቶችንም ይጠብቃል። ሌላ የልጅ ፕሮግራም ሌላ የፕሮክሲ በይነገጽ ሊኖረው ይችላል።

ተዛማጅ ጽሑፎች