QQ空间魔力日志原理
最近QQ空间出现了很多魔力日志,就是谁看上面会显示谁的名字和QQ号,甚至有些还显示头像。
有些搞笑,有些猛一看还挺吓人。下面来揭开神秘的面纱。
网络上面大部分揭秘魔力日志的原理是对的,但是具体细节没有提到,但是少了这个细节是做不出来魔力日志的。欲知什么细节,请看下文:
大概原理是:
日志发布者,在日志中插入一张我们事先设定好的网络图片,也就是一个网址,这个网址的会从服务器端返回一个临时生成的一个图片。这个时候当我们在自己的qq空间“好友动态”里看到对方的日志的时候,看到的就是一个临时生成的图片。
问题:
但是为什么会谁看显示谁的qq号呢?
因为浏览器在请求“图片网址”的时候会带上referer,http请求头。而这个请求头就是阅读者当前的qq空间地址,里面自然有阅读者的qq号。这个时候后台程序就可以根据qq号,调用腾讯的公开的接口获取qq的网名,头像等信息。如果点日志进去就看不到了,因为这个时候的referer里面不带有阅读者的qq号码。
上面是大概原理,具体还有一些细节如果不注意也做不出来“魔力日志”,下面从程序猿的角度来解读下制作过程注意事项:
1:首先是要有自己的网上空间。
2:写程序获取referer(内容是:http://user.qzone.qq.com/XXXX/infocenter,其中XXXX部分就是阅读者的qq号)。访问腾讯URL:http://base.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=XXXX把其中的XXXX换成从referer获取到的qq号。会返回一段JSON数据。一般猿类,一看返回的内容就知道什么意思了。
3:从返回内容里解析出“网名”,“头像地址”。(可以先截取成json字符串,然后解析json就可以方便访问了。)
4: 准备一张背景图片,然后用程序把“网名”、“QQ号”、“头像” 混合到背景中,生成图片。
5: 上传程序到自己的网络空间,写QQ日志、插入网络图片,就写自己生成图片的程序地址。
6:访问,看效果。结束。
回复
麦特佐罗
那次看到别人转发的日志上有我的qq号和头像吓我一跳,原来是这样啊。
回复
smohan
kevin大叔,你能把这背景还是啥的弄下不?我眼神不好,一篇文章看了半天
回复
kevin
@smohan:你没觉得很BT么
回复
惊天魔盗团
这个一般小白就接着转了,QQ空间越来越脑残了。
回复
跑步机价格
不错,来支持一下!