د هغه ډاونلوډر لپاره چې د 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 هغه پروسې ته تطبیقېږي چې وروسته پیلېږي. دا د مخکې چلېدونکي ماشوم یا هغه shell چاپېریال نه بدلوي چې Qt اپلیکیشن یې پیل کړی وي.

ټاکل شوی ډاونلوډر باید متغیر وپېژني. دا بېلګه د curl HTTPS غوښتنې لپاره کوچني توري https_proxy کاروي او میراثي د تېرېدو ننوتنې ساتي. بل ماشوم پروګرام کېدای شي بل پراکسي انټرفېس ولري.

اړوندې مقالې