Maison >développement back-end >tutoriel php >Pourquoi mon PHP `file_get_contents()` échoue-t-il avec « HTTP request failed » et comment puis-je utiliser cURL comme solution ?
PHP file_get_contents() Échec de l'ouverture du flux : échec de la requête HTTP
Lors de la tentative de récupération du contenu d'une URL à l'aide de la fonction file_get_contents() de PHP , vous pouvez rencontrer un message d'erreur indiquant « Échec de l'ouverture du flux : échec de la requête HTTP ! » Ce problème survient lorsque PHP ne parvient pas à établir une connexion à l'URL spécifiée.
Dépannage du problème
Le message d'erreur indique que la requête HTTP effectuée par file_get_contents() échoué. Cela peut être dû à plusieurs raisons :
Utiliser cURL comme alternative
Dans les cas où file_get_contents() échoue, une alternative La solution consiste à utiliser cURL, une extension PHP populaire pour effectuer des requêtes HTTP. cURL offre plus de contrôle sur la configuration de la demande et permet de résoudre les problèmes potentiels.
Exemple de code utilisant cURL
<?php // Initialize a cURL handle $curl_handle = curl_init(); // Set the URL to fetch curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv'); // Set a timeout for the connection curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); // Request the content to be returned instead of printed curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); // Set a user agent to identify your application curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); // Execute the request and store the response $query = curl_exec($curl_handle); // Close the cURL handle curl_close($curl_handle); ?>
Conclusion
Lorsque vous utilisez file_get_contents() pour récupérer le contenu d'une URL, assurez-vous que l'URL est valide et qu'il n'y a aucun problème de connectivité réseau. Si ces vérifications échouent, envisagez d'utiliser cURL comme alternative, car il offre plus de flexibilité et de capacités de dépannage.
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!