Maison  >  Article  >  développement back-end  >  Pourquoi `file_get_contents()` renvoie-t-il une erreur interdite 403 et comment puis-je la corriger ?

Pourquoi `file_get_contents()` renvoie-t-il une erreur interdite 403 et comment puis-je la corriger ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 15:57:02885parcourir

Why Does `file_get_contents()` Return a 403 Forbidden Error and How Can I Fix It?

File_get_contents renvoie 403 interdit : dépannage

Lors de l'utilisation de la fonction file_get_contents() de PHP, rencontrer une erreur 403 interdite peut être frustrant. Cette erreur indique généralement que le serveur Web bloque l'accès à la ressource demandée.

Pour résoudre ce problème, suivez les étapes suivantes :

Activer le débogage

PHP fournit des mécanismes de débogage pour aider à résoudre de telles erreurs :

  • Variable $http_response_header : Cette variable contient les en-têtes HTTP renvoyés avec la réponse. Il peut révéler des informations précieuses, par exemple si le serveur demande des en-têtes spécifiques qui manquent dans votre demande.
  • Option contextuelle ignore_errors : En activant cette option, vous pouvez obtenir la réponse réelle lui-même, fournissant plus d'informations sur la raison de l'erreur 403.

Vérifiez les en-têtes HTTP

Le plus souvent, l'erreur 403 provient d'un élément manquant ou incorrect. En-têtes HTTP dans votre demande. Assurez-vous que votre demande inclut les en-têtes nécessaires, tels que :

  • Référent : L'URL de la page qui renvoie à la ressource demandée.
  • Agent utilisateur : Une chaîne indiquant le type et la version du navigateur effectuant la demande.

Définition d'un agent utilisateur

Exemple :

<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>

Ce code simule un agent utilisateur et soumet une requête à Google, résolvant des problèmes d'en-tête potentiels.

Ressources supplémentaires :

  • stream_context_create : 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