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 போக்குவரத்தை அடையாளம் காணவும்.