Maison >développement back-end >tutoriel php >## Pourquoi Curl renvoie-t-il « 18 : transfert clôturé avec des données de lecture en attente restantes » lors de l'utilisation de CURLOPT_RETURNTRANSFER ?
Résolution de l'erreur de fermeture de transfert avec des données de lecture en attente
L'exécution d'une récupération de données avec curl peut parfois générer un message d'erreur, en particulier lors de l'utilisation de CURLOPT_RETURNTRANSFER pour stocker les données pour une récupération ultérieure. Cette erreur, "18 : transfert fermé avec des données de lecture en attente restantes", peut entraîner des données incomplètes.
Un aspect notable est que cette erreur ne se produit pas lorsque CURLOPT_RETURNTRANSFER est défini sur false, ce qui entraîne l'affichage des données. directement. Ce comportement soulève des questions sur des problèmes sous-jacents potentiels.
Comprendre l'erreur
Le message d'erreur indique essentiellement que libcurl identifie une réception de fragments incomplète dans un flux de codage fragmenté. Lorsque la connexion est fermée prématurément, libcurl reconnaît que le dernier morceau reçu n'était pas terminé. Cette reconnaissance déclenche le code d'erreur.
Résoudre le problème
Éliminer cette erreur avec une demande inchangée n'est pas réalisable. Cependant, il existe une solution de contournement en émettant une requête HTTP 1.0, car le codage fragmenté n'est pas utilisé dans cette version. Néanmoins, il est essentiel de reconnaître que cette erreur est probablement un problème lié au réseau, au serveur ou à la configuration qui mérite une enquête plus approfondie.
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!