<?php // 初始化CURL $curl = curl_init(); // 設置目標URL $url = "https://api.example.com/data"; // 配置CURL選項 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 執行請求 $response = curl_exec($curl); // 關閉會話 curl_close($curl); // 輸出結果 if ($response) { echo $response; } else { echo "請求失敗"; } ?>
在這個示例中,通過設置CURLOPT_RETURNTRANSFER為true ,CURL會將結果返回而非直接輸出,便於後續處理。
<?php // 初始化CURL $curl = curl_init(); // 設定URL $url = "https://api.example.com/data"; // POST數據 $data = array( 'username' => 'user123', 'password' => 'pass123' ); // 設置CURL參數curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); // 執行請求$response = curl_exec($curl); // 關閉CURL curl_close($curl); // 處理結果if ($response) { echo $response; } else { echo "請求失敗"; } ?>
此處通過http_build_query()將數組格式的數據轉換為標準URL編碼格式,便於POST傳輸。
<?php // 初始化CURL $curl = curl_init(); // 請求的URL $url = "https://api.example.com/data"; // 設定CURL參數 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 10); // 設定超时为10秒 // 執行請求 $response = curl_exec($curl); // 檢查錯誤 if (curl_errno($curl)) { $error_msg = curl_error($curl); echo "請求發生錯誤:" . $error_msg; } else { // 輸出響應內容 if ($response) { echo $response; } else { echo "請求失敗"; } } // 關閉會話 curl_close($curl); ?>
通過設置CURLOPT_TIMEOUT參數,可以控制最大請求時間,避免因接口延遲導致頁面長時間無響應。同時,利用curl_errno()和curl_error()獲取具體的錯誤信息,有助於快速定位問題。