Guzzle ଅନୁରୋଧ ପାଇଁ ପ୍ରକ୍ସି IP ସେଟ୍ କରନ୍ତୁ
Guzzle ର ପ୍ରତି-ଅନୁରୋଧ proxy ବିକଳ୍ପ, ହ୍ୟାଣ୍ଡଲର୍ ନିର୍ଭର ସଂଯୋଗ ସମୟସୀମା ଓ ସ୍ପଷ୍ଟ ବାଇପାସ୍ ତାଲିକା ବୁଝନ୍ତୁ।
Guzzle ର proxy ବିକଳ୍ପ ପୂର୍ଣ୍ଣ ଏଣ୍ଡପଏଣ୍ଟ URL ନିଏ। କେବଳ ସେହି କାମ ଚୟନିତ IP ବ୍ୟବହାର କଲେ ଅନୁରୋଧରେ ସେଟ୍ କରନ୍ତୁ।
<?php
require __DIR__ . '/vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://example.com/', [
'proxy' => 'http://203.0.113.10:8080',
'connect_timeout' => 5,
'timeout' => 15,
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo (string) $response->getBody();
ଉଦାହରଣ ଧରେ Guzzle 7 Composer ଦ୍ୱାରା ସ୍ଥାପିତ। ଦଲିଲ ଠିକଣା ପ୍ରଦାନକାରୀ କିମ୍ବା HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ପ୍ରକୃତ HTTP ପ୍ରକ୍ସିରେ ବଦଳାନ୍ତୁ। ଗନ୍ତବ୍ୟ ଅନୁରୋଧ URL ରେ ରଖନ୍ତୁ: ପ୍ରକ୍ସି ମଧ୍ୟସ୍ଥ, ଡାଉନଲୋଡ୍ ହେଉଥିବା ସମ୍ପଦ ନୁହେଁ।
ଏଠାରେ http_errors false ଯାହାରେ HTTP ତ୍ରୁଟି ଉତ୍ତର ଯାଞ୍ଚ ପାଇଁ ରହେ। ସଂଯୋଗ ବିଫଳତା ଏବେ ମଧ୍ୟ ପ୍ରେରଣ ବ୍ୟତିକ୍ରମ ସୃଷ୍ଟି କରେ। ତେଣୁ ସ୍ଥାପନବେଳେ ନାକଚ HTTPS ଟନେଲ୍ ସାଧାରଣ ସାଇଟ୍ ଉତ୍ତର ଅବଜେକ୍ଟ ପାଇବା ପୂର୍ବରୁ ବିଫଳ ହୋଇପାରେ।
ସଂଯୋଗ ସୀମା ଭିନ୍ନ ବ୍ୟବହାର କଲେ ହ୍ୟାଣ୍ଡଲର୍ ଦେଖନ୍ତୁ
Guzzle ଭିନ୍ନ HTTP ହ୍ୟାଣ୍ଡଲର୍ ବ୍ୟବହାର କରିପାରେ। ଦଲିଲ କୁହେ ଭିତରର cURL ହ୍ୟାଣ୍ଡଲର୍ connect_timeout ସମର୍ଥନ କରେ। ନିଜସ୍ୱ ହ୍ୟାଣ୍ଡଲର୍ କିମ୍ବା PHP cURL ନ ଥିବା ପରିବେଶ ନିଶ୍ଚିତ ସମତୁଲ୍ୟ ନୁହେଁ। କପି ହୋଇଥିବା ସମୟସୀମା କାମ କରୁଛି ଭାବିବା ପୂର୍ବରୁ ଆପ୍ର ହ୍ୟାଣ୍ଡଲର୍ ଯାଞ୍ଚ କରନ୍ତୁ।
ସମୁଦାୟ timeout ମଧ୍ୟ ସେଟ୍ କରିବା ଉପଯୋଗୀ। ମାଗଣା ତାଲିକାର ପ୍ରବିଷ୍ଟି ଯାଞ୍ଚ ମଧ୍ୟରେ ଉତ୍ତର ବନ୍ଦ କରିପାରେ ଓ ଡିଫଲ୍ଟ ଶୀଘ୍ର ସରିବା ଦରକାର ଥିବା ଅନୁରୋଧର ଉପଯୋଗୀ ସୀମା ନୁହେଁ।
ପ୍ରକ୍ସି ମ୍ୟାପ୍ ବ୍ୟବହାର
ମ୍ୟାପ୍ ଗନ୍ତବ୍ୟର ସ୍କିମ୍ ଅନୁସାରେ ପଥ ବାଛିବା ଓ ବାଇପାସ୍ ହୋଷ୍ଟ ସ୍ପଷ୍ଟ ଦେବାକୁ ଦିଏ:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
ଷ୍ଟ୍ରିଂ ବିକଳ୍ପ ସ୍ଥାନରେ ଏହି ଆରେ ବ୍ୟବହାର କରନ୍ତୁ। HTTPS କି HTTPS ଗନ୍ତବ୍ୟ ବାଛେ; ଏହାର HTTP ମୂଲ୍ୟ ଏବେ ମଧ୍ୟ ପ୍ରକ୍ସି ଲିସନର୍ ବୁଝାଏ। ଭିନ୍ନ ଲିସନର୍ ପ୍ରୋଟୋକଲ୍ ପାଇଁ ଭିନ୍ନ ଏଣ୍ଡପଏଣ୍ଟ ବିନ୍ୟାସ ଦରକାର।
ଅନୁରୋଧର proxy ବିକଳ୍ପ ନିଜେ ଦେଲେ Guzzle ଚାହେ ଆବଶ୍ୟକ no ମୂଲ୍ୟ ମଧ୍ୟ ନିଜେ ଦିଅନ୍ତୁ, NO_PROXY ରୁ ଆପେଆପେ କପି କରେ ନାହିଁ। ଖାଲି ତାଲିକା ପୃଥକ ପ୍ରକ୍ସି ପରୀକ୍ଷା ପାଇଁ ଉପଯୋଗୀ। ଆପ୍ରେ ଉଦ୍ଦେଶ୍ୟମୂଳକ ବାଇପାସ୍ ନିୟମ ଥିଲେ ସ୍ପଷ୍ଟ ରଖନ୍ତୁ।