Maison  >  Article  >  développement back-end  >  Comment résoudre les erreurs « 403 Forbidden » lors de l'utilisation de file_get_contents en PHP ?

Comment résoudre les erreurs « 403 Forbidden » lors de l'utilisation de file_get_contents en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 21:23:03730parcourir

How to Solve

Dépannage des erreurs interdites 403 de File_get_contents

Lorsque vous rencontrez une erreur 403 interdite avec file_get_contents sur un serveur, il est crucial de comprendre la cause sous-jacente. Voici comment résoudre le problème :

Utilisation des capacités de débogage de PHP

PHP propose des options de débogage :

  • Variable $http_response_header : Remplit les en-têtes HTTP de réponse après chaque appel file_get_contents(), fournissant des informations sur le code d'état HTTP (403 dans ce cas).
  • Option contextuelle ignore_errors : Vous permet de récupérer le réponse réelle, qui peut révéler la raison de l'erreur 403.

Vérification des en-têtes HTTP manquants

Une cause fréquente des erreurs 403 est un HTTP manquant ou incorrect en-têtes dans la requête. Les navigateurs envoient automatiquement ces en-têtes, mais les requêtes personnalisées peuvent ne pas les inclure. Pensez à ajouter des en-têtes tels que :

  • Referer : l'URL de la page qui renvoie à la page cible
  • User-Agent : l'identifiant du navigateur effectuant la demande

Exemple de code pour l'ajout d'en-têtes HTTP

<code class="php">$context = stream_context_create(
    array(
        "http" => array(
            "header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
        )
    )
);

echo file_get_contents("www.google.com", false, $context);</code>

Ressources supplémentaires

  • [Création de contexte de flux](https ://www.php.net/manual/en/function.stream-context-create.php)

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