Jepini një fëmije QProcess mjedisin e tij të proxy-t
Vendosni mjedisin që i kalon një fëmije Qt, duke ruajtur vlerat e trashëguara që i nevojiten ende.
Për një shkarkues që niset përmes QProcess, ndërtoni mjedisin e fëmijës përpara se ta nisni:
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/"});Ky fragment Qt supozon një objekt prind ekzistues, një cikël ngjarjesh dhe curl të disponueshëm për fëmijën. Mbajeni QProcess gjallë ndërsa punon dhe trajtoni sinjalet e përfundimit e të gabimit në aplikacion. Për këtë kontroll të një sajti publik pa kredenciale proxy të konfiguruara, lista e proxy-ve HTTP ofron pika fundore HTTP kandidate për vlerën e proxy-t të fëmijës.
Nisja me systemEnvironment ruan vlerat e trashëguara si PATH. Ndërtimi i një mjedisi ndryshe bosh dhe shtimi i një ndryshoreje proxy do të linte jashtë ato hyrje të tjera.
Emri i ndryshores është çelësi. export është një komandë shell, nuk është pjesë e atij çelësi dhe as një ekzekutues që QProcess duhet të nisë së pari. Kalimi i drejtpërdrejtë i mjedisit shmang edhe ndërtimin e një komande shell rreth URL-së.
setProcessEnvironment zbatohet për procesin e nisur më pas. Nuk e ndryshon mjedisin e një fëmije që tashmë punon ose të shell-it që nisi aplikacionin Qt.
Shkarkuesi i zgjedhur duhet ta kuptojë ndryshoren. Ky shembull përdor https_proxy me shkronja të vogla për kërkesën HTTPS të curl dhe ruan hyrjet e anashkalimit të trashëguara. Një program tjetër fëmijë mund të ketë një ndërfaqe tjetër proxy.