Maison >développement back-end >tutoriel php >Comment puis-je récupérer les codes de réponse HTTP à l'aide de « file_get_contents » et « stream_context_create » ?

Comment puis-je récupérer les codes de réponse HTTP à l'aide de « file_get_contents » et « stream_context_create » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 21:53:12329parcourir

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

Récupération du code de réponse HTTP avec file_get_contents et stream_context_create

Lors de l'utilisation de file_get_contents et stream_context_create pour les requêtes POST, la gestion des erreurs HTTP est cruciale. Par défaut, file_get_contents génère des avertissements lorsqu'il rencontre des erreurs HTTP, ce qui rend difficile la récupération du code de réponse.

Pour supprimer ces avertissements et obtenir le code de réponse, vous pouvez utiliser la solution suivante :

Suppression des avertissements et récupération du code de réponse

  1. Créez un contexte de flux à l'aide stream_context_create avec les options suivantes :
$options = [
    'http' => [
        'ignore_errors' => true
    ]
];

L'option 'ignore_errors' supprime les avertissements générés par file_get_contents.

  1. Utilisez file_get_contents avec le contexte de flux créé pour récupérer la réponse :
$result = file_get_contents("http://example.com", false, $context);
  1. Après En récupérant la réponse avec file_get_contents, les informations d'en-tête de réponse HTTP, y compris le code de réponse, seront disponibles dans la variable globale $http_response_header. Vous pouvez accéder au code de réponse comme suit :
var_dump($http_response_header);

Cette technique vous permet de gérer les erreurs HTTP avec élégance sans avertissement et de récupérer le code de réponse du flux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn