Fir en Downloader, deen iwwer QProcess gestart gëtt, baut d'Ëmgéigend vum Kand virum Start op:

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

Dëse Qt-Fragment setzt en existéierend Elterendeel-Objekt, eng Evenementsschläif an en curl, dee fir d'Kand disponibel ass, viraus. Halt de QProcess lieweg, wärend en leeft, a behandelt seng Fäerdeg- a Feelsignaler an der Applikatioun. Fir dës Kontroll vun enger ëffentlecher Säit ouni konfiguréiert Proxy-Accès-Donnéeën bitt d'Lëscht vun HTTP-Proxye Kandidat-HTTP-Endpunkte fir de Proxywäert vum Kand.

Mat systemEnvironment ufänken erhält ierwech Wäerter wéi PATH. Eng soss eidel Ëmgéigend opbauen an eng eenzeg Proxy-Variabel bäisetzen géif déi aner Entréen ewechloossen.

Den Numm vun der Variabel ass de Schlëssel. export ass eng Shell-Kommando, net en Deel vun deem Schlëssel an och net eng ausféierbar Datei, déi QProcess als éischt misst starten. D'Ëmgéigend direkt iwwerginn vermeit och, eng Shell-Kommando ronderëm d'URL ze bauen.

setProcessEnvironment gëllt fir de Prozess, deen duerno gestart gëtt. Et ännert net d'Ëmgéigend vun engem Kand, dat schon leeft, oder vun der Shell, déi d'Qt-Applikatioun gestart huet.

Den ausgewielten Downloader muss d'Variabel verstoen. Dëst Beispill benotzt kleng Buschtawen an https_proxy fir dem curl seng HTTPS-Ufro an erhält ierwech Ëmwee-Inputen. En anere Kandprogramm kann eng aner Proxy-Schnittstell hunn.

Ähnlech Artikelen