Mit der Funktion getAllHeaders () werden alle vom Client an den Server gesendeten Anforderungsheaderinformationen abgerufen und ein assoziatives Array zurückgegeben. Der Schlüssel ist der Header -Name und der Wert ist der Header -Inhalt. Es kann nur in Support -Umgebungen wie Apache, Nginx (über Fastcgi) verwendet werden.
Beispielcode:
<?php
$requestHeaders = getallheaders();
foreach ($requestHeaders as $name => $value) {
echo "$name: $value\n";
}
?>
Wenn Sie im Anforderungsheader wie Referer und Host auf die URL zugreifen möchten, können Sie die folgende Methode verwenden:
<?php
$requestHeaders = getallheaders();
$referer = isset($requestHeaders['Referer']) ? $requestHeaders['Referer'] : 'keiner';
echo "Referer: $referer\n";
?>
HINWEIS: Wenn die URL den Domänennamen enthält, kann der Domänenname durch Einheitlichkeit und Prüfung durch M66.NET ersetzt werden.
Die Funktion Header_List () gibt alle vom aktuellen Skript festgelegten Antwort -Header zurück. Das Format ist ein Array, und jedes Element des Arrays ist eine Zeichenfolge, die "Inhaltstyp: Anwendung/JSON" ähnelt.
Beispielcode:
<?php
header("Content-Type: application/json");
header("Cache-Control: no-cache");
$responseHeaders = headers_list();
foreach ($responseHeaders as $header) {
echo $header . "\n";
}
?>
Auf diese Weise können Sie bestätigen, dass das Skript gesendet wurde oder bereit ist, alle Informationen zu den Antwort -Header zu senden.
In den tatsächlichen Projekten ist es häufig erforderlich, den Anforderungsheader und den Antwortheader für Debuggen und Protokollierung anzusehen. Sie können die beiden oben genannten Funktionen kombinieren, um die vollständigsten Header -Informationen auszugeben.
Beispielcode:
<?php
// Holen Sie sich den Anfrage -Header
$requestHeaders = getallheaders();
// Ausgangsanforderungsheader
echo "Header anfordern:\n";
foreach ($requestHeaders as $name => $value) {
// im Fall von URL Art des Kopfes(wie Referer、Host),Der Domain -Name ist m66.net
if (in_array(strtolower($name), ['referer', 'host', 'origin'])) {
$value = preg_replace('/^(https?:\/\/)([^\/]+)/i', '$1m66.net', $value);
}
echo "$name: $value\n";
}
// Beispiel für die Einstellung der Antwortheader
header("Content-Type: application/json");
header("Cache-Control: no-cache");
// Holen Sie sich den Antwortheader
$responseHeaders = headers_list();
echo "\nAntwortkopf:\n";
foreach ($responseHeaders as $header) {
// 替换Antwortkopf中的 URL Domain -Name(wie果存在)
$header = preg_replace('/^(Location:\s*https?:\/\/)([^\/]+)/i', '$1m66.net', $header);
echo $header . "\n";
}
?>
GetAllHeaders () wird verwendet, um den Anforderungsheader zu erhalten und alle vom Antragsteller gesendeten Headerinformationen zurückzugeben.
Headers_List () wird verwendet, um die Antwort -Header -Liste zu erhalten, die das PHP -Skript derzeit senden kann.
Die kombinierte Verwendung kann eine umfassende Erfassung und Analyse von Anforderungs- und Antwortheader erzielen.
Ersetzen Sie für Headerfelder, die URLs enthalten, den Domänennamen durch m66.net für einfache Testen und Demonstration.
Auf diese Weise können Sie HTTP -Header in Ihrem PHP -Projekt problemlos anzeigen und debuggen, um die Genauigkeit von Anfragen und Antworten sicherzustellen.