Maison  >  Article  >  développement back-end  >  Comment dépanner les faux retours de curl_exec() ?

Comment dépanner les faux retours de curl_exec() ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-19 22:22:02307parcourir

How to Troubleshoot False Returns from 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!

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