PHP file_get_contents ସହିତ ପ୍ରକ୍ସି ମାଧ୍ୟମରେ HTTP URL ଆଣନ୍ତୁ
ଫରୱାର୍ଡ ପ୍ରକ୍ସି ପାଇଁ PHP ର HTTP ଷ୍ଟ୍ରିମ ରାପର ବିନ୍ୟାସ କରନ୍ତୁ, ଅନୁରୋଧ ଫର୍ମାଟିଂ ଏବଂ ଷ୍ଟ୍ରିମ ପ୍ରସଙ୍ଗର ସୀମା ସହିତ।
PHP cURL ବିନା ସାଧାରଣ HTTP ଅନୁରୋଧ ପାଇଁ, HTTP ଷ୍ଟ୍ରିମ ରାପରକୁ ପ୍ରକ୍ସି ପ୍ରସଙ୍ଗ ଦିଅନ୍ତୁ:
$context = stream_context_create([
'http' => [
'proxy' => 'tcp://203.0.113.10:8080',
'request_fulluri' => true,
'timeout' => 10,
],
]);
$body = file_get_contents('http://example.com/', false, $context);
ଡକ୍ୟୁମେଣ୍ଟେସନ ଏଣ୍ଡପଏଣ୍ଟକୁ ଆପଣଙ୍କ HTTP ପ୍ରକ୍ସି କିମ୍ବା HTTP ପ୍ରକ୍ସି ତାଲିକା ରୁ ଜଣେ ପ୍ରାର୍ଥୀ ସହିତ ବଦଳାନ୍ତୁ। HTTP ପ୍ରସଙ୍ଗ ଇଣ୍ଟରଫେସ proxy ପାଇଁ TCP ଠିକଣା ଆଶା କରେ। request_fulluri=true ସମ୍ପୂର୍ଣ୍ଣ ଲକ୍ଷ୍ୟ URI କୁ ଅନୁରୋଧ ଧାଡ଼ିରେ ରଖେ, ଯେପରି ଅନେକ ଫରୱାର୍ଡ ପ୍ରକ୍ସି ଆବଶ୍ୟକ କରନ୍ତି। ଟାଇମଆଉଟ ସେହି ରାପରର ନିୟମ ଅନୁସାରେ ଷ୍ଟ୍ରିମ କାର୍ଯ୍ୟକୁ ସୀମିତ କରେ।
ବଡି ପାର୍ସ କରିବା ପୂର୍ବରୁ ଫେରାଇଥିବା ମୂଲ୍ୟ ଏବଂ ସତର୍କତା ଯାଞ୍ଚ କରନ୍ତୁ; ବିଫଳ ପଠନ ଏବଂ ଖାଲି ସଫଳ ପ୍ରତିକ୍ରିୟା ପାଇଁ ଅଲଗା ପରିଚାଳନା ଆବଶ୍ୟକ। ଏହି ଗୋଟିଏ HTTP ଲକ୍ଷ୍ୟ ଏବଂ ସୀମିତ ଅନୁରୋଧ ସହିତ ନିଦାନ ଆରମ୍ଭ କରନ୍ତୁ। HTTPS ଟନେଲିଂ ଏବଂ TLS ଆଚରଣ ଯୋଡେ ଯାହା ପ୍ରକୃତ ରାପର/PHP ସଂସ୍କରଣ ପାଇଁ ଯାଞ୍ଚ କରିବାକୁ ପଡ଼େ; ଏହି ଉଦାହରଣ ସେହି କ୍ଷମତା ସ୍ଥାପିତ କରେ ନାହିଁ।
ଏହି କଲରେ ପ୍ରସଙ୍ଗ ଦେବା ପଥକୁ ଦୃଶ୍ୟମାନ ରଖେ ଏବଂ ଅସମ୍ପର୍କିତ URL ପଠନ ବଦଳାଇବାକୁ ଏଡ଼ାଏ। ଅଂଶୀଦାର ଡିଫଲ୍ଟ ପ୍ରସଙ୍ଗ କେବଳ ସେତେବେଳେ ଉପଯୁକ୍ତ ଯେତେବେଳେ ଆପ୍ଲିକେସନ ଜାଣିଶୁଣି ସେହି ନୀତି ଚାହେଁ; ଲାଇବ୍ରେରୀଗୁଡ଼ିକ ଏହାର ବ୍ୟାପକ ପରିସରକୁ ଧ୍ୟାନ ଦେବା ଉଚିତ।
ଏହା PHP ଷ୍ଟ୍ରିମ ବିନ୍ୟାସ କରେ, ସ୍ୱାଧୀନ ଭାବରେ ସୃଷ୍ଟି ହୋଇଥିବା cURL ହ୍ୟାଣ୍ଡେଲ ନୁହେଁ, ବ୍ରାଉଜର କିମ୍ବା ଅନ୍ୟ ପ୍ରକ୍ରିୟା ନୁହେଁ। ଏକ ପ୍ୟାକେଜ ଏହି ପ୍ରସଙ୍ଗ ବ୍ୟବହାର କରିବ ବୋଲି ଆଶା କରିବା ପୂର୍ବରୁ ଏହାର ପ୍ରକୃତ HTTP ପରିବହନ ଚିହ୍ନଟ କରନ୍ତୁ।