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 ашиглаж, өвлөгдсөн тойрч гарах оролтыг хадгална. Өөр хүү программ өөр прокси интерфейстэй байж болно.

Холбоотой нийтлэлүүд