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 යනු shell විධානයකි, එය එම යතුරේ කොටසක් නොවන අතර QProcess මුලින්ම ධාවනය කළ යුතු ක්රියාත්මක ගොනුවක් ද නොවේ. පරිසරය සෘජුවම ලබා දීම URL වටා shell විධානයක් ගොඩනැගීම ද වළක්වයි.
setProcessEnvironment යෙදෙන්නේ ඉන් පසුව ආරම්භ වන ක්රියාවලියට ය. එය දැනටමත් ක්රියාත්මක වන දරුවාගේ හෝ Qt යෙදුම ආරම්භ කළ shell හි පරිසරය වෙනස් නොකරයි.
තෝරාගත් බාගැනීම් මෙවලමට මෙම විචල්යය තේරුම් ගැනීමට සිදු වේ. මෙම උදාහරණය curl හි HTTPS ඉල්ලීම සඳහා කුඩා අකුරු https_proxy භාවිත කරන අතර උරුම වූ මඟහැරීම් ආදාන රඳවා ගනී. වෙනත් දරු පරිගණක වැඩසටහනකට වෙනත් ප්රොක්සි අතුරුමුහුණතක් තිබිය හැක.