Maison > Article > développement back-end > Pourquoi ma fonction PHP `file_get_contents()` génère-t-elle une erreur HTTP 403 interdite sur les serveurs distants ?
Échec de file_get_contents() de PHP avec une erreur HTTP 403 interdite sur le serveur distant
Lors de l'utilisation de la fonction file_get_contents() de PHP pour récupérer du contenu à partir d'un site Web distant pages, vous pouvez rencontrer une erreur HTTP 403 Forbidden sur votre serveur même s'il fonctionne localement. Pour résoudre ce problème, considérez les éléments suivants :
1. Débogage avec les utilitaires PHP
PHP fournit des options de débogage, telles que :
2. Adresse manquant d'en-tête HTTP
Votre demande peut manquer d'un en-tête HTTP requis, tel que Referer ou User-Agent. La plupart des navigateurs utilisent les agents utilisateurs suivants :
3. Faux agent utilisateur
Vous pouvez utiliser stream_context_create() pour créer un contexte avec un faux agent utilisateur :
<code class="php">$context = stream_context_create( array( "http" => array( "header" => "User-Agent: <Your User Agent>" ) ) ); echo file_get_contents("www.google.com", false, $context);</code>
Cette requête simulera l'agent utilisateur et l'enverra au spécifié URL.
Références :
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!