QProcess દ્વારા શરૂ થતા ડાઉનલોડર માટે, શરૂ કરતાં પહેલાં સંતાનનું પર્યાવરણ બનાવો:

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

આ Qt ટુકડો હાલના પિતૃ ઑબ્જેક્ટ, ઇવેન્ટ લૂપ અને સંતાન માટે ઉપલબ્ધ curl ધારે છે. ચાલુ હોય ત્યારે QProcess જીવંત રાખો, અને તેના પૂર્ણતા તથા ભૂલ સંકેતો એપ્લિકેશનમાં સંભાળો. પ્રોક્સી ઓળખપત્રો ગોઠવ્યા વિના આ જાહેર સાઇટ તપાસ માટે, HTTP પ્રોક્સીની યાદીમાંથી સંતાનના પ્રોક્સી મૂલ્ય માટે ઉમેદવાર HTTP એન્ડપૉઇન્ટ મળે છે.

systemEnvironment થી શરૂ કરવાથી PATH જેવા વારસાગત મૂલ્યો જળવાય છે. બાકી ખાલી પર્યાવરણ બનાવીને એક પ્રોક્સી ચલ ઉમેરવાથી તે બીજી એન્ટ્રીઓ છૂટી જાય.

ચલનું નામ જ ચાવી છે. export શેલ આદેશ છે, તે ચાવીનો ભાગ નથી અને QProcess પહેલાં ચલાવવાની કોઈ એક્ઝિક્યુટેબલ પણ નથી. પર્યાવરણ સીધું આપવાથી URL ફરતે શેલ આદેશ બનાવવાનું પણ ટળે છે.

setProcessEnvironment પછી શરૂ થતી પ્રક્રિયા પર લાગુ પડે છે. તે પહેલેથી ચાલતા સંતાન કે Qt એપ્લિકેશન શરૂ કરનાર શેલના પર્યાવરણને બદલતું નથી.

પસંદ કરેલા ડાઉનલોડરે ચલ સમજવું જોઈએ. આ ઉદાહરણ curlની HTTPS વિનંતી માટે નાના અક્ષરના https_proxy વાપરે છે અને વારસાગત બાયપાસ ઇનપુટ જાળવે છે. બીજા સંતાન પ્રોગ્રામમાં બીજું પ્રોક્સી ઇન્ટરફેસ હોઈ શકે.

સંબંધિત લેખો