សម្រាប់កម្មវិធីទាញយកដែលចាប់ផ្តើមតាម 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 ត្រូវដំណើរការមុនដែរ។ ការផ្តល់បរិស្ថានដោយផ្ទាល់ក៏ជៀសវាងការសង់ពាក្យបញ្ជា shell ជុំវិញ URL ផងដែរ។

setProcessEnvironment អនុវត្តចំពោះដំណើរការដែលចាប់ផ្តើមបន្ទាប់ពីនោះ។ វាមិនផ្លាស់ប្តូរបរិស្ថានរបស់កូនដែលកំពុងដំណើរការរួចហើយ ឬរបស់ shell ដែលចាប់ផ្តើមកម្មវិធី Qt នោះទេ។

កម្មវិធីទាញយកដែលបានជ្រើសរើសត្រូវយល់អថេរនេះ។ ឧទាហរណ៍នេះប្រើ https_proxy អក្សរតូចសម្រាប់ សំណើ HTTPS របស់ curl ហើយរក្សាទិន្នបញ្ចូលវាងវៃដែលទទួលមរតក។ កម្មវិធីកូនផ្សេងទៀតអាចមានចំណុចប្រទាក់ប្រូកស៊ីផ្សេង។

អត្ថបទពាក់ព័ន្ធ