QProcess சேய்க்கு அதன் ப்ராக்ஸி சூழலை வழங்குங்கள்
ஒரு Qt சேய்க்கு வழங்கப்படும் சூழலை அமைத்து, அதற்கு இன்னும் தேவையான மரபுவழி மதிப்புகளைப் பாதுகாக்கவும்.
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 என்பது shell கட்டளை, அது அந்தச் சாவியின் பகுதியல்ல, QProcess முதலில் இயக்க வேண்டிய இயக்கக்கூடிய கோப்பும் அல்ல. சூழலை நேரடியாக வழங்குவது URL ஐச் சுற்றி shell கட்டளையை உருவாக்குவதையும் தவிர்க்கிறது.
setProcessEnvironment அதன் பிறகு தொடங்கப்படும் செயல்முறைக்குப் பொருந்தும். ஏற்கனவே இயங்கும் சேய் அல்லது Qt பயன்பாட்டைத் தொடங்கிய shell இன் சூழலை இது மாற்றாது.
தேர்ந்தெடுத்த பதிவிறக்கி இந்த மாறியைப் புரிந்து கொள்ள வேண்டும். இந்த எடுத்துக்காட்டு curl இன் HTTPS கோரிக்கைக்கு சிற்றெழுத்து https_proxy ஐப் பயன்படுத்தி மரபுவழி தவிர்ப்பு உள்ளீடுகளைப் பாதுகாக்கிறது. மற்றொரு சேய் நிரலுக்கு வேறு ப்ராக்ஸி இடைமுகம் இருக்கலாம்.