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 ହ୍ୟାଣ୍ଡଲର ସହିତ ସଂଯୁକ୍ତ। କଷ୍ଟମ କିମ୍ବା ଷ୍ଟ୍ରିମ ହ୍ୟାଣ୍ଡଲର ସମାନ ପ୍ରକ୍ସି-ହ୍ୟାଣ୍ଡଶେକ କଲବ୍ୟାକ ପ୍ରଦାନ କରିବାକୁ ବାଧ୍ୟ ନୁହେଁ। କ୍ୟାପଚର ହୋଇଥିବା ପ୍ରକ୍ସି ହେଡରକୁ ନିଦାନ ଡାଟା ଭାବରେ ଗ୍ରହଣ କରନ୍ତୁ ଏବଂ ଆକାଉଣ୍ଟ ସହିତ ସଂଯୁକ୍ତ ମୂଲ୍ୟକୁ ଅନାବଶ୍ୟକ ଭାବରେ ରଖିବାରୁ ବିରତ ରୁହନ୍ତୁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ