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

source:php.cn
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