Maison > Article > développement back-end > Comment dépanner les faux retours de curl_exec() ?
Pourquoi curl_exec() renvoie-t-il systématiquement False ?
Lorsque vous rencontrez le problème où curl_exec() renvoie continuellement false, il est crucial d'incorporer l'erreur manipulation dans votre code. En utilisant curl_error() et curl_errno(), vous pouvez approfondir les détails de l'échec.
Pour illustrer ce concept, considérez l'extrait de code amélioré suivant :
<code class="php">try { $ch = curl_init(); // Validate initialization if ($ch === false) { throw new Exception('Initialization failed.'); } // Set URL explicitly curl_setopt($ch, CURLOPT_URL, 'http://example.com/'); // Enable return transfer curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Customize other options $content = curl_exec($ch); // Check curl_exec() return status if ($content === false) { throw new Exception(curl_error($ch), curl_errno($ch)); } // Verify HTTP return code $httpReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Process $content } catch (Exception $e) { trigger_error(sprintf( 'Curl error #%d: %s', $e->getCode(), $e->getMessage() ), E_USER_ERROR); } finally { // Close curl handle if initialized successfully if (is_resource($ch)) { curl_close($ch); } }</code>
En utilisant curl_init (), vous pouvez identifier les problèmes potentiels d'initialisation. curl_errno() et curl_error() peuvent fournir des informations spécifiques concernant la source de toute erreur détectée lors de l'exécution. De plus, la vérification du code de retour HTTP garantit que votre demande n'a pas reçu de réponse d'erreur.
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!