Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich HTTP-Fehler behandeln und Antwortcodes abrufen, wenn ich „file_get_contents' für POST-Anfragen verwende?

Wie kann ich HTTP-Fehler behandeln und Antwortcodes abrufen, wenn ich „file_get_contents' für POST-Anfragen verwende?

Barbara Streisand
Barbara StreisandOriginal
2024-12-21 22:48:28328Durchsuche

How Can I Handle HTTP Errors and Retrieve Response Codes When Using `file_get_contents` for POST Requests?

HTTP-Anfragen mit file_get_contents: Antwortcodes abrufen

Beim Senden von POST-Anfragen mit file_get_contents und stream_context_create kann die Fehlerbehandlung eine Herausforderung darstellen. Das bereitgestellte Code-Snippet demonstriert die Grundlagen von POST-Anfragen mit file_get_contents, weist jedoch zwei Einschränkungen auf:

  • Es zeigt eine Fehlerwarnung an, wenn ein HTTP-Fehler auftritt.
  • Es bietet keine Möglichkeit um den HTTP-Fehlercode zu erhalten.

Um diese Einschränkungen zu beheben, beachten Sie Folgendes Lösungen:

Fehlerwarnungen unterdrücken

Um die unerwünschte Warnung zu unterdrücken, können Sie die Option „ignore_errors“ im Stream-Kontext verwenden:

$context = stream_context_create(['http' => ['ignore_errors' => true]]);

Durch die Aktivierung dieser Option zeigt file_get_contents bei HTTP-Fehlern keine Fehlerwarnung an und gibt stattdessen einen „false“-Wert zurück, der auf einen Fehler hinweist Anfrage.

HTTP-Antwortcodes abrufen

Um den HTTP-Antwortcode zu erhalten, können Sie die superglobale PHP-Variable $http_response_header verwenden, die aufgefüllt wird, wenn file_get_contents mit einem Stream verwendet wird Kontext. Nachdem Sie die Fehlerwarnung unterdrückt haben, können Sie mit dem folgenden Code auf den Antwortcode zugreifen:

$result = file_get_contents("http://example.com", false, $context);
var_dump($http_response_header);

Dadurch werden die HTTP-Antwortheader einschließlich des Antwortcodes ausgegeben.

Durch Implementierung Mit diesen Lösungen können Sie die Fähigkeit Ihres Codes verbessern, HTTP-Fehler zu verarbeiten, während Sie POST-Anfragen mithilfe von file_get_contents und stream_context_create stellen.

Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-Fehler behandeln und Antwortcodes abrufen, wenn ich „file_get_contents' für POST-Anfragen verwende?. 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