Doni al QProcess-ido sian prokuran medion
Agordu la medion transdonatan al unu Qt-ido, konservante la heredajn valorojn, kiujn ĝi ankoraŭ bezonas.
Por elŝutilo lanĉita per QProcess, konstruu la medion de la ido antaŭ ol startigi ĝin:
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/"});Ĉi tiu Qt-fragmento supozas ekzistantan gepatran objekton, eventbuklon kaj curl haveblan al la ido. Tenadu la QProcess vivan dum ĝi funkcias, kaj pritraktu ĝiajn finajn kaj erarajn signalojn en la aplikaĵo. Por ĉi tiu kontrolo de publika retejo sen agorditaj prokuraj akreditaĵoj, la listo de HTTP-prokuriloj proponas kandidatajn HTTP-finpunktojn por la prokura valoro de la ido.
Komenci per systemEnvironment konservas heredajn valorojn kiel PATH. Konstrui alie malplenan medion kaj aldoni unu prokuran variablon preterlasus tiujn aliajn erojn.
La nomo de la variablo estas la ŝlosilo. export estas ŝela komando, ne parto de tiu ŝlosilo kaj ne plenumeblo, kiun QProcess devus lanĉi unue. Transdoni la medion rekte ankaŭ evitas konstrui ŝelan komandon ĉirkaŭ la URL.
setProcessEnvironment validas por la proceso startigita poste. Ĝi ne ŝanĝas la medion de jam funkcianta ido nek de la ŝelo, kiu lanĉis la Qt-aplikaĵon.
La elektita elŝutilo devas kompreni la variablon. Ĉi tiu ekzemplo uzas minusklan https_proxy por la HTTPS-peto de curl kaj konservas heredajn preterpasadajn enigojn. Alia ida programo povas havi alian prokuran interfacon.