Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-26 15:57:02
original
1063 Les gens l'ont consulté

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal