د HTTP پروکسي له لارې د HTTPS غوښتنه کولی شي د CONNECT منونکې یوه ځواب او بیا په هغه تونل کې د وېبپاڼې بل ځواب ترلاسه کړي. د لومړني لارې تنظیم لپاره د Guzzle د هرې غوښتنې پروکسي انتخاب وګورئ. په لومړي ځواب کې سرلیک اړین نه دی چې په وروستي ځواب شي کې وي.

د خپل ټاکلي HTTP پای ټکي سره د بیا تولید لپاره له HTTP پراکسي لېست څخه یو کاندید واخلئ او تایید کړئ چې HTTPS تونل مني. د Guzzle 7.10 د cURL-هینډلر په لار کې، هر د سرلیک بیرته غوښتنه جلا بلاک کې وساتئ:

$blocks = [];
$client = new \GuzzleHttp\Client([
    'handler' => \GuzzleHttp\HandlerStack::create(
        new \GuzzleHttp\Handler\CurlHandler()
    ),
]);

$response = $client->get('https://www.example.com/', [
    'proxy' => 'http://proxy.example:8080',
    'curl' => [CURLOPT_SUPPRESS_CONNECT_HEADERS => false],
    'on_headers' => function (
        \Psr\Http\Message\ResponseInterface $part
    ) use (&$blocks) {
        $blocks[] = [
            'status' => $part->getStatusCode(),
            'reason' => $part->getReasonPhrase(),
            'headers' => $part->getHeaders(),
        ];
    },
]);

cURL غزول باید CURLOPT_SUPPRESS_CONNECT_HEADERS وړاندې کړي، دا هغه انتخاب دی چې libcurl 7.54.0 معرفي کړی. false ته ټاکل یې CONNECT سرلیکونو ته اجازه ورکوي چې د cURL د سرلیک بیرته غوښتنې ته ورسیږي. د Guzzle 7.10 هینډلر د هر بشپړ شوي سرلیک بلاک لپاره ځواب جوړوي او په هغه حد کې on_headers غواړي.

بلاکونه په ترتیب کې وساتئ. د تصدیق ننګونې، بیا لارښوونې او معلوماتي ځوابونه کولی شي اضافي بلاکونه جوړ کړي؛ ټول ارزښتونه په یوې لړ کې مه هواروئ او یو ځواب یوازې د دې لپاره مه ډلبندي کوئ چې حالت یې 200 دی.

راغونډ شوی ځواب د بشپړې شوې غوښتنې ځواب ښیي، پداسې حال کې چې blocks د بیرته غوښتنو لخوا راټول شوي مشاهدې ساتي. که د تونل یا TLS تنظیم ناکام شي، په غوښتونکي اپلیکیشن کې د انتقال استثنا چې غورځول شوې ده سمبال کړئ؛ کیدای شي وروستی د وېبپاڼې ځواب نه وي.

دا چلند د یاد شوي cURL هینډلر سره تړلی دی. دودیز یا جریاني هینډلر اړ نه دی چې ورته د پروکسي لاس ورکولو بیرته غوښتنې وړاندې کړي. د پروکسي نیول شوي سرلیکونه د تشخیصي معلوماتو په توګه وګڼئ او له حساب سره تړلي ارزښتونه بې اړتیا له ساتلو څخه ډډه وکړئ.

اړوندې مقالې