Maison >développement back-end >tutoriel php >Pourquoi file_get_contents() renvoie-t-il une erreur 500 alors que la même page s'affiche dans un navigateur ?

Pourquoi file_get_contents() renvoie-t-il une erreur 500 alors que la même page s'affiche dans un navigateur ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 05:13:30623parcourir

 Why Does file_get_contents() Return a 500 Error While the Same Page Renders in a Browser?

Exploration de l'erreur 500 rencontrée avec file_get_contents()

Lors de l'accès à des pages Web via la fonction file_get_contents(), il est parfois rencontré qu'un 500 une erreur de serveur interne se produit, alors que la page s'affiche correctement dans un navigateur. Ce problème empêche les développeurs de récupérer le contenu souhaité.

Dans votre cas spécifique, l'extrait de code suivant est à l'origine de l'erreur :

<code class="php">$html = file_get_contents("https://www.[URL].com"); 
echo $html;</code>

Pour résoudre ce problème, vous pouvez essayer la solution de contournement suivante :

<code class="php">$opts = array('http' =>
    array('header' => "User-Agent:MyAgent/1.0\r\n"));
$context = stream_context_create($opts);
$header = file_get_contents('https://www.example.com', false, $context);</code>

Ce code ajoute un entête User-Agent à votre requête, ce qui peut aider dans certains cas. Si cette solution ne résout pas le problème, il est possible que l'accès au site Web cible via HTTPS soit restreint pour votre configuration.

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