如何用 PHP 实现速度快的实时获取 QQ 在线状态的函数?

2014-05-14 09:38:02 +08:00
 tension
我目前已经实现了 获取在线状态,但是速度很慢。。。

求加速!

//QQ在线状态
function get_qq_status($uin) {
if($uin > 9999) {
error_reporting(0);
$data = file_get_contents("http://webpresence.qq.com/getonline?type=1&{$uin}:");
$data || $data = strlen(file_get_contents("http://wpa.qq.com/pa?p=2:{$uin}:45"));
if(!$data) { return 0; }
switch((string)$data) {
case '854': case 'online[0]=0;': echo("off");return;
case '834': case 'online[0]=1;': echo("on");return;
}
}
return 3;
}
4765 次点击
所在节点    程序员
31 条回复
codingpp
2014-05-14 12:17:04 +08:00
好接口,从哪里找到的啊?

楼主追求速度的话 研究下swoole 速度应该能达到极致吧
tension
2014-05-14 23:09:47 +08:00
@chuangbo 我不会写缓存。。。
tension
2014-05-14 23:15:32 +08:00
求个大神 优化我的代码。。。

现在加载到底部,每次打开需要30s

影响效率,想把获取状态信息代码写成AJAX的 这样整个页面打开才慢慢加载,不知道效果如何!
tension
2014-05-14 23:41:07 +08:00
已经解决了!速度超快!
Dwyanetalk
2014-05-14 23:44:39 +08:00
这个口子是腾讯无意中泄漏出来的口子,官方不建议使用。而且,这个口子有个限制,就是QQ用户必须开通了QQ商家服务(url:http://shang.qq.com/index.php),不然是无法获取的,这个以前是默认开通的,现在好像是默认关闭的。
tension
2014-05-14 23:52:51 +08:00
@Dwyanetalk 目前使用没问题,速度唰唰快!
Dwyanetalk
2014-05-15 00:03:47 +08:00
@tension 用户关闭QQ商家服务后,也可以吗?
tension
2014-05-15 00:32:25 +08:00
@Dwyanetalk 我没开过商家服务,你可以给我一个关闭了商家服务 并且在线的QQ 测试一下!
Dwyanetalk
2014-05-15 15:02:24 +08:00
Delbert
2014-05-16 21:18:44 +08:00
http://kekou.de/qq.php 不是这样的么?
justplaymore
2014-05-23 01:11:10 +08:00
搜 php rolling curl
curl是可以并发的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/112448

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX