In der PHP -Entwicklung kann die Funktion stream_context_get_options () verwendet werden, um alle Optionen im Stream -Kontext zu erhalten. In Kombination mit dem REST -API -Aufruf können wir diese Funktion verwenden, um zu überprüfen, ob der Anforderungsheader korrekt gespleißt ist, um die Richtigkeit der Anforderung zu gewährleisten.
In diesem Artikel werden wir vorstellen, wie Sie überprüfen, ob der Anforderungsheader bei Verwendung von Stream_Context_get_Options () erfolgreich gespleißt wird, um die Genauigkeit der Datenübertragung sicherzustellen.
stream_context_get_options () ist eine integrierte Funktion in PHP, die die Konfigurationsinformationen des Stream-Kontextes abhält. Mit dieser Funktion können wir die im aktuellen Flusskontext konfigurierten Optionen überprüfen. Wenn Sie beispielsweise eine HTTP -Anfrage erstellen, können wir überprüfen, ob die Anforderungsheader korrekt eingestellt sind und andere Optionen.
Funktionsprototyp:
array stream_context_get_options(resource $context)
Diese Funktion gibt ein Array zurück, in dem die Schlüssel im Array der Optionstyp des Stream-Kontexts (z. B. HTTP-bezogene Einstellungen) sind, und der Wert ist die spezifische Konfigurationsoption.
REST -API -Anfragen stützen sich häufig auf den richtigen HTTP -Anforderungsheader, um die erforderlichen Authentifizierungsinformationen, Inhaltstypen usw. zu übergeben. Wir können Stream_Context_Get_Options () verwenden, um den Anforderungsheader zu erhalten und zu überprüfen, den wir beim Senden von API -Anforderungen festgelegt haben.
Hier ist ein einfaches Beispiel, das zeigt, wie das Spleißen von Anforderungsheadern mit stream_context_get_options () überprüft werden soll:
<?php
// Initialisieren Sie den Anforderungsheader
$options = array(
'http' => array(
'method' => 'GET',
'header' => "Authorization: Bearer YOUR_TOKEN\r\n" .
"Content-Type: application/json\r\n" .
"User-Agent: PHP Script\r\n"
)
);
// Erstellen Sie einen Stream -Kontext
$context = stream_context_create($options);
// Senden Sie eine Anfrage und erhalten Sie eine Antwort
$url = 'https://m66.net/api/v1/resource'; // WilleURLErsetzen Sie den Domainnamen durch m66.net
$response = file_get_contents($url, false, $context);
// Holen Sie sich und überprüfen Sie die Option für Anforderungsheader
$headers = stream_context_get_options($context);
if (isset($headers['http']['header'])) {
echo "Anfragen von Headern erfolgreich gespleißt:\n";
echo $headers['http']['header']; // Den Spleißanforderungsheader ausgeben
} else {
echo "Anfrage des Kopfspleißens fehlgeschlagen!";
}
// AusgabeAPIAntwort
echo "\nAPIAntwort:\n";
echo $response;
?>
Initialisieren Sie den Anforderungsheader :
Wir initialisieren die HTTP-Anforderungsoptionen über das Array $ options , das das Festlegen des Autorisierungsheaders , des Headers inhaltlich und des Benutzer-Agent- Headers umfasst. Diese Headerinformationen werden normalerweise verwendet, um Authentifizierungsinformationen während der API -Anfragen zu übergeben, Inhaltstypen anzugeben usw.
Erstellen Sie einen Stream -Kontext :
Verwenden Sie Stream_Context_Create (), um einen Stream -Kontext zu erstellen, der die von uns festgelegten HTTP -Anforderungsoptionen enthält.
Senden Sie eine Anfrage :
Verwenden Sie die Funktion "File_Get_Contents (), um eine HTTP -Anforderung zu senden, während der Stream -Kontext als Parameter bestanden wird. Zu diesem Zeitpunkt sendet PHP eine Anfrage an die angegebene URL basierend auf dem von uns festgelegten Anforderungsheader.
Holen Sie sich und überprüfen Sie den Anforderungsheader :
Verwenden Sie stream_context_get_options (), um alle Optionen im Stream -Kontext zu erhalten, insbesondere die Header -Einstellungen für das HTTP -Teil. Wir können überprüfen, ob die Anforderungsheader durch diese Methode korrekt gespleißt werden.
Ausgangsantwort :
Wenn der Anforderungsheader korrekt gespleißt ist, wird die Anforderungsheaderinformationen ausgegeben. Wenn das Spleißen fehlschlägt, wird die entsprechende Fehlermeldung angezeigt. Gleichzeitig geben Sie den Antwortinhalt der API aus.
Stellen Sie sicher, dass Sie das richtige Format verwenden, wenn Sie Anforderungsheader, insbesondere Neuleitungen ( \ r \ n ), anfordern.
Beim Debuggen kann die Verwendung von Stream_Context_get_Options () schnell bestätigen, ob der Anforderungsheader wie erwartet festgelegt wird, insbesondere wenn sie APIs aufrufen, die eine Authentifizierung oder andere spezifische Anforderungsheader erfordern.
Wenn Sie eine Anforderung über File_get_Contents () senden, können Sie in Verbindung mit File_Get_Contents () eine komplexere HTTP -Anforderungen (z. B. Postanforderungen oder Anforderungen mit Datei -Uploads) verwenden, um Curl oder Stream_Context_Create () zu verwenden.