要实时获取数据,可以使用curl的streaming请求。以下是一个使用curl实时获取数据的示例代码:
<?php
function handleResponse($response) {
// 处理响应数据
echo "Received data: " . $response . "\n";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/streaming_data'); // 设置请求的URL
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'handleResponse'); // 设置回调函数,处理响应数据
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 设置允许重定向
curl_exec($ch);
curl_close($ch);
上述代码中,handleResponse
函数用于处理从服务器接收到的数据。在每次接收到数据时,都会调用该函数进行处理。你可以根据实际需求在该函数中添加逻辑来处理数据。
CURLOPT_WRITEFUNCTION
选项用于设置回调函数,它接收两个参数:curl连接句柄和接收到的数据。在示例代码中,我们将接收到的数据输出到控制台。
CURLOPT_FOLLOWLOCATION
选项设置为true,表示允许curl自动跟随重定向。
你需要将https://example.com/streaming_data
替换为实际的数据源URL。请注意,数据源的响应要以流的形式返回,而不是一次性返回所有数据。
运行上述代码后,curl将会发起一个streaming请求并实时获取数据。每当有新的数据到达时,handleResponse
函数将会被调用,你可以在该函数中处理数据。
请注意,实时获取数据是一个长时间运行的过程,可能会阻塞其他代码的执行。你可能需要在一个独立的进程或线程中运行这段代码,以免影响其他功能的正常运行。