Aktueller Standort: Startseite> Neueste Artikel> Holen Sie sich die Methode, die Zeitüberschreitung, die Header und andere Einstellungen in HTTP -Anforderungen

Holen Sie sich die Methode, die Zeitüberschreitung, die Header und andere Einstellungen in HTTP -Anforderungen

M66 2025-06-06

In PHP können Sie mit der Funktion "Stream_Context_get_Options" verschiedene Optionen über den Stream -Kontext erhalten, insbesondere bei HTTP -Anforderungen. Mit dieser Funktion können Sie Stream -Kontextoptionen anzeigen, die in File_Get_Contents oder ähnlichen Funktionen verwendet werden, einschließlich Methoden- , Zeitüberschreitungs- und Header -Einstellungen für HTTP -Anforderungen. Als nächstes werden wir demonstrieren, wie diese Einstellungen mit stream_context_get_options erhalten und jeden Abschnitt im Detail erläutern.

Beispiel: So erhalten Sie die Einstellungen für HTTP -Anforderungen

Nehmen wir an, wir möchten eine HTTP -Get -Anforderung über PHP senden und einige benutzerdefinierte Optionen festlegen (z. B. Zeitlimit, Anforderungsmethode und benutzerdefinierte Header). Wir erstellen einen Stream -Kontext mithilfe von Stream_Context_Create , verwenden dann Datei_get_Contents für HTTP -Anforderungen und erhalten schließlich die Einstellungen im Stream -Kontext über stream_context_get_options .

Codebeispiel

 <?php

// Gesetzt angefordert URL
$url = "http://m66.net/api/example"; // Hier URL Der Domain -Name wurde durch ersetzt durch m66.net

// Erstellen Sie einen benutzerdefinierten Streaming -Kontext
$options = [
    'http' => [
        'method'  => 'GET',                  // Anforderungsmethode
        'header'  => 'User-Agent: PHP script', // Stellen Sie die kundenspezifischen Anforderungsheader ein
        'timeout' => 30                        // Stellen Sie die Zeitüberschreitungszeit auf 30 Zweite
    ]
];

// Erstellen Sie einen Stream -Kontext
$context = stream_context_create($options);

// implementieren HTTP fragen
$response = file_get_contents($url, false, $context);

// Ausgabemitteilungsinhalt
echo $response;

// Holen Sie sich alle Optionen im Stream -Kontext
$optionsFetched = stream_context_get_options($context);

// Drucken Sie den erhaltenen aus HTTP Optionen
echo "\n\nErhalten HTTP fragen设置:\n";
print_r($optionsFetched);
?>

Code analysieren

  1. Setzen Sie die angeforderte URL : Wir haben eine URL ( http://m66.net/api/example ) verwendet und stellen sicher, dass der Domänenname m66.net ist.

  2. Erstellen Sie einen Stream -Kontext : Über die Funktion von Stream_Context_Create definieren wir einen Kontext (z. B. Anforderungsmethode, Header und Timeout), der HTTP -Anforderungsoptionen enthält.

    • Die Methode ist so eingestellt , dass wir angeben, dass wir eine HTTP -Get -Anfrage stellen.

    • Der Header richtet einen benutzerdefinierten Benutzer-Agent ein und Sie können nach Bedarf weitere Anforderungsüberschriften hinzufügen.

    • Die Zeitüberschreitung wird auf 30 Sekunden festgelegt, um sicherzustellen, dass die Anfrage nach der Zeitüberschreitung gekündigt wird.

  3. Führen Sie die Anforderung aus : Die Funktion "Datei_get_Contents" sendet die Anforderung mit dem von uns erstellten Stream -Kontext und gibt die Antwortdaten zurück.

  4. Optionen im Kontext erhalten : Die Funktion der Stream_Context_get_Options gibt ein Array zurück, das alle Optionen enthält, die wir im Stream -Kontext festgelegt haben. Mit print_r können wir diese Optionen anzeigen.

Ausgangsergebnis

Unter der Annahme, dass der Server eine gültige Antwort zurückgibt, gibt File_Get_Contents den Antwortinhalt aus. In der Zwischenzeit ähnelt die Ausgabe von Stream_Context_get_Options dem folgenden Format:

 Erhalten HTTP fragen设置:
Array
(
    [http] => Array
        (
            [method] => GET
            [header] => User-Agent: PHP script
            [timeout] => 30
        )
)

Aus dieser Ausgabe können wir feststellen, dass die Funktion stream_context_get_options erfolgreich alle im Stream -Kontext festgelegten Optionen zurückgibt, einschließlich der Anforderungsmethode, der Anforderungsheader und der Zeitüberschreitungszeit.

Zusammenfassen

Durch die Verwendung von Stream_Context_Get_Options können Sie beim Senden von HTTP -Anforderungen in PHP verschiedene Parameter einfach festlegen. Diese Funktion ist nützlich, um Details von HTTP -Anforderungen zu debugieren und zu protokollieren, insbesondere bei der Behandlung komplexer HTTP -Anforderungen oder der dynamischen Änderung der Anforderungsoptionen.

Hoffentlich hilft Ihnen dieses Beispiel, zu verstehen, wie Sie Stream_Context_get_Options verwenden, um Einstellungen in HTTP -Anforderungen zu erhalten. Wenn Sie mehr Fragen haben oder weitere Hilfe benötigen, können Sie mich gerne wissen!