【发布时间】:2012-04-26 16:59:05
【问题描述】:
我计划录制有关特定主题的实时推文。同样,我在 PHP 中使用带有 cURL 的 twitter 流 API。
代码如下:
<?php
$username = "xxxxx";
$password = "xxxxx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://stream.twitter.com/1/statuses/filter.json? track=SEARCH_PARAMETER');
curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
$jsonOBJ = json_decode ($result);
curl_close($ch);
print_r($jsonOBJ);
?>
我的问题是,如果我将 CURLOPT_RETURNTRANSFER 设置为 0,我可以在终端上看到推文。但我无法存储在变量 $jsonOBJ 中并打印出来。
请帮忙!
【问题讨论】:
-
使用 sdk for php 和 oauth 会不会更容易?
-
在尝试解码之前打印出 $result 以查看它的样子。
-
现在,我直接做这个“echo $result;”。但执行此脚本时没有任何显示。
-
您正在尝试解码可能达到 10000 或超过 125MB 数据的结果 .... 您应该使用
stream而不是 curl -
@Baba 我添加了“curl_setopt($ch, CURLOPT_TIMEOUT, 30);”这样我获得的数据量有限并终止了 cURL 操作。但仍然没有数据存储在变量中。并感谢您的建议。我会研究“流”
标签: php curl twitter-streaming-api