PHP get_headers: પ્રોક્સી દ્વારા HTTP HEAD વિનંતી મોકલો
stream context સીધો get_headers ને આપો, 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 વાપરો.