Għal downloder li jinbeda permezz ta' QProcess, ibni l-ambjent tal-wild qabel tibdih:

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/"});

Dan il-framment Qt jassumi oġġett ġenitur eżistenti, loop tal-avvenimenti u curl disponibbli għall-wild. Żomm il-QProcess ħaj waqt li jkun qed jaħdem, u ttratta s-sinjali tiegħu ta' tlestija u ta' żball fl-applikazzjoni. Għal din il-verifika ta' sit pubbliku mingħajr kredenzjali tal-proxy konfigurati, il-lista ta’ proxies HTTP toffri punti tat-tmiem HTTP kandidati għall-valur tal-proxy tal-wild.

Li tibda b'systemEnvironment iżżomm valuri ereditarji bħal PATH. Li tibni ambjent vojt mod ieħor u żżid varjabbli tal-proxy waħda jħalli barra dawk l-entrati l-oħra.

L-isem tal-varjabbli huwa l-muftieħ. export hija kmand tal-shell, mhijiex parti minn dan il-muftieħ u lanqas esegwibbli li QProcess irid iniedi l-ewwel. Li tgħaddi l-ambjent direttament tevita wkoll li tibni kmand tal-shell madwar l-URL.

setProcessEnvironment tapplika għall-proċess li jinbeda wara. Ma tbiddilx l-ambjent ta' wild li diġà qed jaħdem jew tal-shell li nediet l-applikazzjoni Qt.

Id-downloder magħżul irid jifhem il-varjabbli. Dan l-eżempju juża https_proxy b'ittri żgħar għall-talba HTTPS ta’ curl u jżomm l-inputs tal-bypass ereditarji. Programm wild ieħor jista' jkollu interface tal-proxy ieħor.

Artikli relatati