Maison > développement back-end > tutoriel php > Pourquoi file_get_contents() échoue-t-il et comment cURL peut-il corriger les erreurs « Échec de la demande HTTP » ?

Pourquoi file_get_contents() échoue-t-il et comment cURL peut-il corriger les erreurs « Échec de la demande HTTP » ?

Linda Hamilton
Libérer: 2024-12-10 07:41:13
original
316 Les gens l'ont consulté

Why Does file_get_contents() Fail and How Can cURL Fix

Résolution de l'erreur PHP file_get_contents() « Échec de la demande HTTP »

Lors de la tentative d'utilisation file_get_contents() pour récupérer le contenu d'une URL spécifiée, les utilisateurs peuvent rencontrer l'erreur : "Avertissement : file-get-contents() n'a pas réussi à ouvrir le flux : la requête HTTP a échoué ! HTTP/1.1 202 Accepté." Cette erreur se produit lorsque la requête HTTP ne peut pas être exécutée avec succès.

Pour résoudre ce problème, une approche alternative consiste à utiliser l'extension cURL. cURL offre un meilleur contrôle sur les requêtes HTTP et permet des options de configuration supplémentaires. Voici un extrait de code modifié utilisant cURL :

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>
Copier après la connexion

Dans cette version modifiée, nous exploitons les fonctions cURL pour lancer la requête HTTP. Nous définissons un handle curl et définissons diverses options :

  • CURLOPT_URL : Spécifie l'URL cible.
  • CURLOPT_CONNECTTIMEOUT : Définit un délai d'attente pour établissant le connection.
  • CURLOPT_RETURNTRANSFER : Indique que la sortie doit être renvoyée sous forme de chaîne.
  • CURLOPT_USERAGENT : Définit un agent utilisateur personnalisé pour la requête.

En utilisant cURL, nous obtenons un contrôle plus précis sur la requête HTTP et peut résoudre efficacement l'erreur « Échec de la requête HTTP » rencontrée avec file_get_contents().

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