Foar in downloader dy't fia QProcess start wurdt, bou de omjouwing fan it bern foardat it start:

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

Dit Qt-stikje giet út fan in besteand âlderobjekt, in evenemintelus en curl dy't foar it bern beskikber is. Hâld de QProcess libben wylst er draait, en behannelje syn foltôgings- en flatersinjalen yn 'e applikaasje. Foar dizze kontrôle fan in iepenbiere side sûnder ynstelde proxy-gegevens biedt de list mei HTTP-proxy’s geskikte HTTP-einpunten foar de proxywearde fan it bern.

Begjinne mei systemEnvironment behâldt erfdje wearden lykas PATH. In oars lege omjouwing bouwe en ien proxyfariabele tafoegje soe dy oare yngongen weilitte.

De namme fan 'e fariabele is de kaai. export is in shell-opdracht, gjin part fan dy kaai en gjin útfierber bestân dat QProcess earst starte moat. De omjouwing direkt trochjaan foarket ek dat der in shell-opdracht om 'e URL hinne boud wurdt.

setProcessEnvironment jildt foar it proses dat dêrnei start wurdt. It feroaret de omjouwing fan in bern dat al draait net, en ek net dy fan 'e shell dy't de Qt-applikaasje starte.

De keazen downloader moat de fariabele begripe. Dit foarbyld brûkt lytse letters yn https_proxy foar curl syn HTTPS-fersyk en behâldt erfdje omgongs-yngongen. In oar bernprogram kin in oare proxy-ynterface hawwe.

Relatearre artikelen