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 ಬಳಸುತ್ತದೆ ಮತ್ತು ಪಿತ್ರಾರ್ಜಿತ ಬೈಪಾಸ್ ಇನ್‌ಪುಟ್‌ಗಳನ್ನು ಉಳಿಸುತ್ತದೆ. ಇನ್ನೊಂದು ಶಿಶು ಪ್ರೋಗ್ರಾಂಗೆ ಬೇರೆ ಪ್ರಾಕ್ಸಿ ಇಂಟರ್‌ಫೇಸ್ ಇರಬಹುದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು