Gefðu QProcess-barni sitt proxy-umhverfi
Stilltu umhverfið sem er sent einu Qt-barni og varðveittu arfnu gildin sem það þarf enn á að halda.
Fyrir niðurhal sem er ræst í gegnum QProcess skaltu byggja umhverfi barnsins áður en það er ræst:
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/"});Þetta Qt-brot gerir ráð fyrir fyrirliggjandi foreldri, atburðalykkju og curl sem barninu er aðgengilegt. Hafðu QProcess lifandi meðan það keyrir og meðhöndlaðu lokunar- og villumerkin í forritinu. Fyrir þessa skoðun á opinberri síðu án stilltra proxy-skírteina býður listinn yfir HTTP-milliþjóna upp á hugsanlega HTTP-endapunkta fyrir proxy-gildi barnsins.
Að byrja með systemEnvironment varðveitir arfnu gildi eins og PATH. Að byggja annars tómt umhverfi og bæta við einni proxy-breytu myndi sleppa þessum öðrum færslum.
Heiti breytunnar er lykillinn. export er skeljarskipun, er ekki hluti af þeim lykli og ekki keyrsluskrá sem QProcess þarf að ræsa fyrst. Að senda umhverfið beint kemur einnig í veg fyrir að byggja skeljarskipun utan um slóðina.
setProcessEnvironment á við ferlið sem er ræst eftir það. Það breytir ekki umhverfi barns sem er þegar í gangi né skeljarinnar sem ræsti Qt-forritið.
Valið niðurhal verður að skilja breytuna. Þetta dæmi notar lítil staf í https_proxy fyrir HTTPS-beiðni curl og varðveitir arfna framhjáhlaups-inntak. Annað barnsforrit getur haft annað proxy-viðmót.