QProcess övladına öz proksi mühitini verin
Bir Qt övlad prosesinə ötürülən mühiti, ona hələ lazım olan miras dəyərləri qoruyaraq qurun.
QProcess vasitəsilə işə salınan yükləyici üçün övladın mühitini başlamazdan əvvəl qurun:
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/"});Bu Qt fraqmenti mövcud ana obyekt, hadisə dövrəsi və övlad üçün əlçatan curl olduğunu fərz edir. QProcess işləyərkən onu canlı saxlayın, tamamlanma və xəta siqnallarını tətbiqdə idarə edin. Proksi etimad məlumatları qurulmadan aparılan bu ictimai sayt yoxlaması üçün HTTP proksi siyahısından övladın proksi dəyəri üçün namizəd HTTP son nöqtələri təklif olunur.
systemEnvironment ilə başlamaq PATH kimi miras dəyərləri qoruyur. Boş mühit qurub ona bir proksi dəyişəni əlavə etmək həmin digər qeydləri buraxardı.
Dəyişənin adı açardır. export shell əmridir, həmin açarın hissəsi deyil və QProcess-in ilk işə salmalı olduğu icra oluna bilən fayl da deyil. Mühiti birbaşa ötürmək URL ətrafında shell əmri qurmaqdan da qaçırır.
setProcessEnvironment sonradan başladılan prosesə tətbiq olunur. O, artıq işləyən övladın və ya Qt tətbiqini işə salan shell-in mühitini dəyişmir.
Seçilmiş yükləyici dəyişəni başa düşməlidir. Bu nümunə curl-un HTTPS sorğusu üçün kiçik hərfli https_proxy istifadə edir və miras keçid girişlərini qoruyur. Başqa övlad proqramın başqa proksi interfeysi ola bilər.