PHP get_headers: ப்ராக்ஸி வழியாக HTTP HEAD கோரிக்கையை அனுப்புங்கள்
get_headers-க்கு stream context-ஐ நேரடியாகக் கொடுங்கள், HEAD-ஐ வேண்டுமென்றே தேர்ந்தெடுங்கள், திருப்பிவிடல்களைப் பின்பற்றலாமா என்பதை முடிவு செய்யுங்கள்.
PHP-இல் get_headers() தனது மூன்றாவது அளவுருவாக stream context-ஐ ஏற்கிறது. PHP 8-இல், HTTP URL ஒன்றுக்கான தலைப்பு சரிபார்ப்பு அதன் சொந்த ப்ராக்ஸி அமைப்பைக் கொண்டு செல்லலாம்:
$context = stream_context_create([
'http' => [
'proxy' => 'tcp://proxy.example.net:8080',
'request_fulluri' => true,
'method' => 'HEAD',
'follow_location' => 0,
'timeout' => 10,
],
]);
$headers = get_headers('http://example.net/file.zip', false, $context);
if ($headers === false) {
throw new RuntimeException('Header request failed');
}ப்ராக்ஸி என்பது HTTP stream wrapper-க்கான TCP முனை. இந்தப் பொது HTTP சரிபார்ப்புக்காக அதன் இடம்பிடி ஹோஸ்ட் மற்றும் போர்ட்டை HTTP ப்ராக்ஸி பட்டியல்கில் இருந்து அங்கீகரிக்கப்படாத வேட்பாளரால் மாற்றுங்கள். request_fulluri HTTP கோரிக்கை வரியில் முழு இலக்கு URI-ஐ வழங்குகிறது, பல முன்னனுப்பு ப்ராக்ஸிகள் எதிர்பார்ப்பது போல. இந்த context இந்த அழைப்புக்கானது; மற்ற URL வாசிப்புகள் பயன்படுத்தும் இயல்புநிலை context-ஐ இது மாற்றாது.
செயல்பாட்டின் பெயர் அப்படியிருந்தாலும், அதன் இயல்புநிலைக் கோரிக்கை முறை GET ஆகும். வெளிப்படையான HEAD முறை, தொடர்புடைய பதில் உடலின்றி பதில் மெட்டாடேட்டாவை சேவையகத்திடம் கேட்கிறது. சேவையகம் HEAD-ஐ நிராகரிக்கலாம் அல்லது வேறுவிதமாகக் கையாளலாம், எனவே வெற்றிகரமான தலைப்பு சரிபார்ப்பு பின்னர் நடைபெறும் பதிவிறக்கம் வெற்றிபெறும் என்பதற்கான சான்று அல்ல.
இங்கே முதல் பதிலை ஆய்வு செய்ய திருப்பிவிடல்களைப் பின்பற்றுவது முடக்கப்பட்டுள்ளது. அப்போது Location தலைப்பும் திருப்பிவிடல் நிலையும் வேறு URL-ஐக் கொண்டுவரும் அறிவுறுத்தலாக அல்லாமல் பயனுள்ள முடிவுகளாகும். சரிபார்ப்பு திருப்பிவிடல்களைப் பின்பற்ற வேண்டும் எனில், அந்தக் கொள்கையை வேண்டுமென்றே மாற்றி கூடுதல் பதில் தலைப்புகளைக் கணக்கில் எடுத்துக் கொள்ளுங்கள்.
false அளவுரு குறியிடப்பட்ட தலைப்பு வரிசையை வைத்திருக்கிறது. தொடர்புடைய பாகுபடுத்துதல் மிகவும் பயனுள்ளதாக இருக்கும்போது true பயன்படுத்துங்கள்.