የPHP get_headers() ሶስተኛ ነጋሪ አድርጎ የመልቀቂያ አውድ ይቀበላል። በ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 ዥረት መጠቅለያ የTCP መጨረሻ ነጥብ ነው። ለዚህ ይፋዊ የHTTP ፍተሻ ቦታ የያዘውን አስተናጋጅና ወደብ ከHTTP ፕሮክሲ ዝርዝር በማይለይ እጩ ይተኩ። request_fulluri ሙሉውን የመድረሻ URI በHTTP ጥያቄ መስመር ውስጥ ያቀርባል፣ ብዙ የፊት ፕሮክሲዎች እንደሚጠብቁት። ይህ አውድ የዚህ ጥሪ ነው፤ ሌሎች URL ንባቦች የሚጠቀሙበትን ነባሪ አውድ አይለውጥም።

የተግባሩ ስም ቢሆንም፣ ነባሪው የጥያቄ ዘዴው GET ነው። ግልጽ የሆነው HEAD ዘዴ አገልጋዩን ያለ ተመሳሳይ የምላሽ አካል የምላሽ ሜታዳታ ይጠይቃል። አገልጋይ HEAD ን ሊክድ ወይም በተለየ መንገድ ሊያስተናግድ ይችላል፣ ስለዚህ የራስጌ ፍተሻ መሳካቱ በኋላ የሚደረግ ማውረድ እንደሚሳካ ማረጋገጫ አይደለም።

እዚህ የመጀመሪያውን ምላሽ ለመመርመር ቀጣይ አቅጣጫዎችን መከተል ተሰናክሏል። የLocation ራስጌ እና የማዞሪያ ሁኔታ ከዚያ ሌላ URL ለማምጣት ከሚሰጥ መመሪያ ይልቅ ጠቃሚ ውጤቶች ናቸው። ፍተሻው ቀጣይ አቅጣጫዎችን መከተል ካለበት፣ ያንን ፖሊሲ ሆን ብለው ይቀይሩ እና ለተጨማሪ የምላሽ ራስጌዎች ግምት ውስጥ ያስገቡ።

የfalse ነጋሪው በኢንዴክስ የተደረገ የራስጌ ድርድር ይይዛል። ተያያዥ ትንተና የበለጠ ጠቃሚ ሲሆን true ይጠቀሙ።

ተዛማጅ ጽሑፎች