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 वापरा.

संबंधित लेख