1
belin520 2014-05-14 09:40:17 +08:00
看起来没得加速了
用curl试试? |
2
wwek 2014-05-14 09:49:19 +08:00
我们是 直接js调的,用php过去抓实在是效率低··
|
3
lizheming 2014-05-14 09:53:48 +08:00
通过这个好像只有开通了这个服务的账号才可以获取到状态信息吧?
|
4
simapple 2014-05-14 10:00:41 +08:00
获取这个的意义是啥?
|
5
tension OP |
6
dongk 2014-05-14 10:08:56 +08:00
tx 换个图片就完了
|
8
lizheming 2014-05-14 10:10:37 +08:00
@tension http://www.cnblogs.com/w-y-f/archive/2012/05/30/2526475.html 看第6条..如果是这个功能直接用js比较靠谱啊..
|
9
lincanbin 2014-05-14 10:16:45 +08:00 1
curl比file_get_contents快不少
|
11
andyhu 2014-05-14 10:19:18 +08:00
后台跑个cron,每隔半分或者一分钟抓取一次,然后放入数据库
|
13
Actrace 2014-05-14 10:28:44 +08:00
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-05-14 12:07:54 +08:00 via iPad 1
做缓存
|
20
chuangbo 2014-05-14 12:15:29 +08:00
楼上是正解,我举个例子
crontab 每分钟在后台获取一次这个数据,然后缓存下来,缓存在文件或者 apc 或者数据库或者 redis 或者其他什么缓存都可以。 当用户访问的时候,从缓存取出这个数据,并显示。如果缓存中没有,也不要立刻去获取,而是默认显示为不在线。 |
21
codingpp 2014-05-14 12:17:04 +08:00
好接口,从哪里找到的啊?
楼主追求速度的话 研究下swoole 速度应该能达到极致吧 |
23
tension OP 求个大神 优化我的代码。。。
现在加载到底部,每次打开需要30s 影响效率,想把获取状态信息代码写成AJAX的 这样整个页面打开才慢慢加载,不知道效果如何! |
24
tension OP 已经解决了!速度超快!
|
25
Dwyanetalk 2014-05-14 23:44:39 +08:00
这个口子是腾讯无意中泄漏出来的口子,官方不建议使用。而且,这个口子有个限制,就是QQ用户必须开通了QQ商家服务(url:http://shang.qq.com/index.php),不然是无法获取的,这个以前是默认开通的,现在好像是默认关闭的。
|
26
tension OP @Dwyanetalk 目前使用没问题,速度唰唰快!
|
27
Dwyanetalk 2014-05-15 00:03:47 +08:00
@tension 用户关闭QQ商家服务后,也可以吗?
|
28
tension OP @Dwyanetalk 我没开过商家服务,你可以给我一个关闭了商家服务 并且在线的QQ 测试一下!
|
29
Dwyanetalk 2014-05-15 15:02:24 +08:00
|
30
Delbert 2014-05-16 21:18:44 +08:00
http://kekou.de/qq.php 不是这样的么?
|
31
justplaymore 2014-05-23 01:11:10 +08:00
搜 php rolling curl
curl是可以并发的 |