1
icanfork 2014 年 5 月 14 日
看起来没得加速了
用curl试试? |
2
wwek 2014 年 5 月 14 日
我们是 直接js调的,用php过去抓实在是效率低··
|
3
lizheming 2014 年 5 月 14 日
通过这个好像只有开通了这个服务的账号才可以获取到状态信息吧?
|
4
simapple 2014 年 5 月 14 日
获取这个的意义是啥?
|
6
dongk 2014 年 5 月 14 日
tx 换个图片就完了
|
8
lizheming 2014 年 5 月 14 日
@tension http://www.cnblogs.com/w-y-f/archive/2012/05/30/2526475.html 看第6条..如果是这个功能直接用js比较靠谱啊..
|
9
lincanbin 2014 年 5 月 14 日 curl比file_get_contents快不少
|
11
andyhu 2014 年 5 月 14 日
后台跑个cron,每隔半分或者一分钟抓取一次,然后放入数据库
|
13
Actrace 2014 年 5 月 14 日
curl会比较快
|
17
tension OP |
18
tension OP function get_qq_status($string) {
$ch = curl_init(); $timeout = 10; curl_setopt ($ch, CURLOPT_URL, "http://webpresence.qq.com/getonline?type=1&{$string}:"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); if(!$data) { return 0; } switch($data) { case 'online[0]=0;': echo("off"); break; case 'online[0]=1;': echo("on"); break; } } 改成这样 本地测试没问题 ,速度也很快,但是放在服务器就不行了,为什么呢! |
19
jasontse 2014 年 5 月 14 日 via iPad 做缓存
|
20
chuangbo 2014 年 5 月 14 日
楼上是正解,我举个例子
crontab 每分钟在后台获取一次这个数据,然后缓存下来,缓存在文件或者 apc 或者数据库或者 redis 或者其他什么缓存都可以。 当用户访问的时候,从缓存取出这个数据,并显示。如果缓存中没有,也不要立刻去获取,而是默认显示为不在线。 |
21
codingpp 2014 年 5 月 14 日
好接口,从哪里找到的啊?
楼主追求速度的话 研究下swoole 速度应该能达到极致吧 |
23
tension OP 求个大神 优化我的代码。。。
现在加载到底部,每次打开需要30s 影响效率,想把获取状态信息代码写成AJAX的 这样整个页面打开才慢慢加载,不知道效果如何! |
24
tension OP 已经解决了!速度超快!
|
25
Dwyanetalk 2014 年 5 月 14 日
这个口子是腾讯无意中泄漏出来的口子,官方不建议使用。而且,这个口子有个限制,就是QQ用户必须开通了QQ商家服务(url:http://shang.qq.com/index.php),不然是无法获取的,这个以前是默认开通的,现在好像是默认关闭的。
|
26
tension OP @Dwyanetalk 目前使用没问题,速度唰唰快!
|
27
Dwyanetalk 2014 年 5 月 15 日
@tension 用户关闭QQ商家服务后,也可以吗?
|
28
tension OP @Dwyanetalk 我没开过商家服务,你可以给我一个关闭了商家服务 并且在线的QQ 测试一下!
|
29
Dwyanetalk 2014 年 5 月 15 日
|
30
Delbert 2014 年 5 月 16 日
http://kekou.de/qq.php 不是这样的么?
|
31
justplaymore 2014 年 5 月 23 日
搜 php rolling curl
curl是可以并发的 |