首頁  >  文章  >  後端開發  >  如何排除curl_exec()回傳錯誤的問題?

如何排除curl_exec()回傳錯誤的問題?

Linda Hamilton
Linda Hamilton原創
2024-10-19 22:22:02308瀏覽

How to Troubleshoot False Returns from curl_exec()?

為什麼curl_exec()總是回傳False?

當遇到curl_exec()連續回傳False的問題時,合併錯誤至關重要處理到您的程式碼中。透過使用curl_error()和curl_errno(),您可以深入了解失敗背後的細節。

為了說明這個概念,請考慮以下增強的程式碼片段:

<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>

透過使用curl_init (),您可以識別初始化的潛在問題。 curl_errno() 和curl_error() 可以提供有關執行期間偵測到的任何錯誤來源的特定資訊。此外,驗證 HTTP 回傳代碼可確保您的請求不會出現錯誤回應。

以上是如何排除curl_exec()回傳錯誤的問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn