Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-26 21:23:03
original
923 Les gens l'ont consulté

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

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