对于我的DIY项目,我想从第三方API检索数据,该API返回**'text/event-stream'**头。
因为连接没有关闭,所以我使用如下所示的超时:
$url='https://example.com/api/';
$ctx = stream_context_create(array('http'=>
array(
'timeout' => 1 // second
)
));
$data = file_get_contents($url, false, $ctx);
除了超级hacky,它是缓慢的,感觉很糟糕。
是否可以只捕获事件流中的第一个数据元素(JSON)?
到目前为止,我还没有找到任何令人满意的解决方案,也许是因为我缺乏正确的词汇来搜索。
非常感谢帮助。
1条答案
按热度按时间ryevplcw1#
下面的代码可以让我读取单个事件。事件流似乎在每个事件之后都有一个双EOL。至少在我的情况下。我不确定是否所有此类流都是如此。
readEvent
可以被多次调用来读取多个事件。