Maison >développement back-end >tutoriel php >Pourquoi file_get_contents() échoue-t-il avec « Échec de la requête HTTP ! » et comment puis-je le réparer en utilisant cURL ?

Pourquoi file_get_contents() échoue-t-il avec « Échec de la requête HTTP ! » et comment puis-je le réparer en utilisant cURL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-23 20:02:14820parcourir

Why is file_get_contents() Failing with

Dépannage "file_get_contents() renvoie "échec de l'ouverture du flux : échec de la requête HTTP!"

Lors de la tentative de récupération de données à partir d'une URL à l'aide de la fonction file_get_contents() de PHP, vous pouvez rencontrer l'erreur « Échec de l'ouverture du flux : échec de la requête HTTP ! » Ce problème survient lorsque PHP rencontre des difficultés à exécuter la requête HTTP vers le spécifié. URL.

Une cause potentielle est la présence de plusieurs préfixes "http://" dans l'URL à laquelle vous essayez d'accéder. Pensez à supprimer le préfixe redondant pour voir s'il résout le problème.

Cependant, si le problème persiste malgré l'utilisation d'une URL valide, il est conseillé d'essayer une solution alternative. Une méthode qui s'est avérée efficace consiste à utiliser cURL. bibliothèque.

Voici un exemple d'extrait de code utilisant cURL :

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&amp;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);

?>

En utilisant cURL, vous pouvez gérer les requêtes HTTP de manière plus fiable, résolvant souvent le problème des requêtes échouées rencontrées 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:
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