<?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() 获取具体的错误信息,有助于快速定位问题。