Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich HTTP-Antwortcodes mit „file_get_contents' und „stream_context_create' abrufen?

Wie kann ich HTTP-Antwortcodes mit „file_get_contents' und „stream_context_create' abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-01 21:53:12243Durchsuche

How Can I Retrieve HTTP Response Codes Using `file_get_contents` and `stream_context_create`?

Abrufen des HTTP-Antwortcodes mit file_get_contents und stream_context_create

Bei der Verwendung von file_get_contents und stream_context_create für POST-Anfragen ist die Behandlung von HTTP-Fehlern von entscheidender Bedeutung. Standardmäßig löst file_get_contents Warnungen aus, wenn HTTP-Fehler auftreten, was das Abrufen des Antwortcodes erschwert.

Um diese Warnungen zu unterdrücken und den Antwortcode zu erhalten, können Sie die folgende Lösung nutzen:

Warnungen unterdrücken und Antwortcode abrufen

  1. Erstellen Sie einen Stream-Kontext mit stream_context_create mit den folgenden Optionen:
$options = [
    'http' => [
        'ignore_errors' => true
    ]
];

Die Option „ignore_errors“ unterdrückt von file_get_contents generierte Warnungen.

  1. Verwenden Sie file_get_contents mit dem erstellten Stream-Kontext, um die Antwort abzurufen:
$result = file_get_contents("http://example.com", false, $context);
  1. Nachher Beim Abrufen der Antwort mit file_get_contents sind die HTTP-Antwort-Header-Informationen, einschließlich des Antwortcodes, in der globalen Variablen $http_response_header verfügbar. Sie können wie folgt auf den Antwortcode zugreifen:
var_dump($http_response_header);

Mit dieser Technik können Sie HTTP-Fehler ohne Warnungen ordnungsgemäß behandeln und den Antwortcode aus dem Stream abrufen.

Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-Antwortcodes mit „file_get_contents' und „stream_context_create' abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn