當前位置: 首頁> 最新文章列表> PHP curl_getinfo() 函數詳解:如何獲取cURL 請求信息

PHP curl_getinfo() 函數詳解:如何獲取cURL 請求信息

M66 2025-07-15

PHP curl_getinfo() 函數詳解:如何獲取cURL 請求信息

在PHP 中,cURL 是一種強大的工具,用於發送和接收各種協議的數據,如HTTP、FTP、SMTP 等。在進行cURL 請求時,往往需要獲取一些與請求相關的詳細信息,例如請求的URL、服務器響應的狀態碼、請求時間等。此時,PHP 提供的curl_getinfo()函數就顯得尤為重要,它可以幫助我們獲取這些信息。

curl_getinfo() 函數概述

curl_getinfo()函數返回一個包含與cURL 請求相關信息的關聯數組。我們可以通過設置不同的選項來獲取特定的信息,以下是一些常用的選項及其含義:

  • CURLOPT_EFFECTIVE_URL :以字符串形式返回請求的URL 地址。
  • CURLOPT_HTTP_CODE :以整數形式返回服務器響應的HTTP 狀態碼。
  • CURLOPT_RESPONSE_CODE :返回服務器響應的HTTP 狀態碼(僅限cURL 版本7.10.8 及以上)。
  • CURLOPT_TOTAL_TIME :返回整個請求過程中花費的總時間(秒)。
  • CURLOPT_CONTENT_LENGTH_DOWNLOAD :返回下載內容的字節數。
  • CURLOPT_CONTENT_LENGTH_UPLOAD :返回上傳內容的字節數。

如何使用curl_getinfo() 獲取請求信息

以下是一個使用curl_getinfo()函數的示例代碼,演示如何獲取cURL 請求的相關信息:

 // 創建一個 cURL 資源
$curl = curl_init();

// 設置請求的 URL 地址
curl_setopt($curl, CURLOPT_URL, "https://www.example.com");

// 執行請求
$response = curl_exec($curl);

// 獲取請求的相關信息
$info = curl_getinfo($curl);

// 輸出請求的 URL 地址
echo "請求的URL地址:" . $info['url'] . "<br>";

// 輸出服務器響應的 HTTP 狀態碼
echo "HTTP 狀態碼:" . $info['http_code'] . "<br>";

// 輸出整個請求過程花費的總時間
echo "總時間:" . $info['total_time'] . "秒<br>";

// 輸出下載內容的字節數
echo "下載內容字節數:" . $info['download_content_length'] . "<br>";

// 輸出上傳內容的字節數
echo "上傳內容字節數:" . $info['upload_content_length'] . "<br>";

// 關閉 cURL 資源
curl_close($curl);

在上述代碼中,首先創建了一個cURL 資源並設置了請求的URL。然後通過執行請求,使用curl_getinfo()獲取請求的相關信息,並將信息輸出到頁面上。最後關閉cURL 資源。

總結

通過使用curl_getinfo()函數,開發者可以方便地獲取與cURL 請求相關的各種信息,無論是開發網頁爬蟲、調用API 還是發送HTTP 請求,掌握這個函數都能大大提高工作效率。

總而言之, curl_getinfo()函數在PHP 開發中非常實用,尤其是在使用cURL 進行數據交互的場景下,它能夠幫助我們獲得詳細的請求信息,從而更好地控制和處理請求。