QQ空间魔力日志制作与原理.docx_第1页
QQ空间魔力日志制作与原理.docx_第2页
QQ空间魔力日志制作与原理.docx_第3页
QQ空间魔力日志制作与原理.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

qq空间 魔力日志 原理 图解 代码 源码 源代.48魔力日志 原理代码 源码 源代码最近QQ空间出现了很多魔力日志,就是谁看上面会显示谁的名字和QQ号,甚至有些还显示头像。有些搞笑,有些猛一看还挺吓人。下面来揭开什么的面纱。网络上面大部分揭秘魔力日志的原理是对的,但是具体细节没有提到,但是少了这个细节是做不出来魔力日志的。欲知什么细节,请看下文:大概原理是:日志发布者,在日志中插入一张网络图片,也就是一个网址,这个网址的会服务器端返回一个临时生成的一个图片。这个时候当我们在自己的qq空间“好友动态”里看到对方的日志的时候,看到的就是一个临时生成的图片。问题:但是为什么会谁看显示谁的qq号呢?因为浏览器在请求“图片网址”的时候会带上referer,http请求头。而这个请求头就是阅读者当前的qq空间地址,里面自然有阅读者的qq号。这个时候后台程序就可以根据qq号,调用腾讯的公开的接口获取qq的网名,头像等信息。如果点日志进去就看不到了,因为这个时候的referer里面不带有阅读者的qq。图解:上面是大概原理,具体还有一些细节如果不注意也做不出来“魔力日志”,下面从程序猿的角度来解读下制作过程注意事项:1:首先是要有自己的网上空间(可以推荐大家去“主机屋”里面貌似有免费的。或者百度免费空间)2:写程序程序获取referer(内容是:/731316374/infocenter,其中731316374就是阅读者的qq号)。访问腾讯URL:/fcg-bin/cgi_get_portrait.fcg?uins=731316374 把其中的731316374。换成从referer获取到的qq号。可以先复制到浏览器试试。一般猿类,一看返回的内容就知道什么意思了3:从返回内容里解析出“网名”,“头像地址”。(可以先截取成json字符串,然后解析json就可以方便访问了。)4: 准备一张背景图片,然后用程序把“网名”、“QQ号”、“头像” 混合到背景中,生成图片。5: 上传程序到自己的网络空间,写QQ日志、插入网络图片,就写自己生成图片的程序地址。6:访问,看效果。结束。严重注意事项和细节:当程序接收到的请求没有referer的时候只返回http状态吗:200,不要返回响应体,要不然腾讯会缓存日志图片,别人浏览的时候就不会动态获取图片。魔力日志的效果就出不来了。这个网上的文章都没有说,害我搞了半天才整出来。由于本人擅长使用java,没有php基础。但是空间是php的(php的便宜大家懂的),无奈各种百度和纠结拼凑出实现了功能的php代码(估计php行家一看写的很垃圾)。源码如下(这个是网名、qq号、头像全的):如果要获取好友“头像”,时间回略长,建议不要加头像。?phpHeader(Content-type: image/jpeg);/从referer查找QQ号function findNum($str=)$str=trim($str);if(empty($str)return ;$result=;for($i=0;$istrlen($str);$i+)if(is_numeric($str$i)$result.=$str$i;return $result;$referer=$_SERVERHTTP_REFERER;$img=imagecreatefromjpeg(bg2.jpg);/载入背景图片$textColor=imagecolorallocate($img, 255, 0, 0);/设置字体着色,RGB$font=./test/stct.ttf;/字体,若字体不对,则无法输出 ,可以可以去baidu字体然后下载,或者在电脑的c:WindowsFonts下找到电脑里的字体。$qqName=iconv(GB2312, UTF-8,魔力日志,转载后用电脑看);$qqNo=iconv(GB2312, UTF-8,made by 652585345);if(empty($referer)/这里什么也不返回很重要的,要不然qq空间就会缓存日志里面的图片,不能动态加载。else$qqNo=findNum($referer);if(strlen($qqNo)13)$qqNo=iconv(GB2312, UTF-8,made by 652585345);/有些时候有referer,但是referer不对。else$urlText=file_get_contents(/fcg-bin/cgi_get_portrait.fcg?uins=$qqNo);/这个地址可以获取到qq的一些信息,可以copy到浏览器把 $qqNo换成qq号,试试。$startIndex=strpos($urlText,);$endIndex=strpos($urlText,);$json=substr($urlText,$startIndex,$endIndex-$startIndex);$jsonObj=json_decode(iconv(GB2312, UTF-8,$json);$qqName=$jsonObj6;$img1 =imagecreatefromjpeg($jsonObj0); /这里是获取QQ头像imagecopymerge($img,$img1,280,220,0,0,100,100,100);/把QQ头像和原头像拼接imagettftext($img, 15, 0, 120, 235, $textColor, $font, $qqName);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论