Typecho获取QQ头像,隐藏QQ号

spzac主题免费版默认就支持获取QQ头像,而且很久之前“狗花”说这个头像获取泄露他Q了,我一直懒癌发作没有修正这个问题,前两天修好了,分享出来。

原理

原来的QQ头像获取链接是

https://s.p.qq.com/pub/get_face?img_type=3&uin=扣扣号

最近发现可以通过这个链接来获取QQ头像

https://q1.qlogo.cn/g?b=qq&k=k值&s=100

k值怎么获取呢?

打开下面的地址

http://ptlogin2.qq.com/getface?&imgtype=1&uin=扣扣号

你会发现格式

Header({"扣扣号":"https://thirdqq.qlogo.cn/g?b=sdk&k=k值&s=后面的可以忽略})

通过substr获取k值就行

代码

把下面的代码放到functions.php就可以根据QQ号获取不带QQ号的头像链接。

function getQQAvatar($qqNum) {
    $str = @file_get_contents("http://ptlogin2.qq.com/getface?&imgtype=1&uin=$qqNum");
    $start = strpos($str, '&k=') + 3;
    $end = strpos($str, '&s=');
    $k = substr($str, $start , $end - $start);
    return 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';
}

速度改进

然而这两台天我发现获取这个K值非常慢,整体拖慢网页速度,所以决定把头像缓存开起来。

思路

把头像文件存成md5(qq号).jpg
每次请求头像时先判断文件存在不
如果不存在,下载下来。
如果存在,判断是否超过一定时间了(30天),如果是刷新缓存。
这样的话只有吃螃蟹的人会影响浏览体验(PS:可以在别人写QQ邮箱的时候就ajax请求缓存起来,这样就完全没有割裂感)。

完整代码

这里直接给出完整代码吧,把下面的代码放到functions.php里就可以调用了。

此处内容已隐藏,回复后(需要填写邮箱)可见

调用方式

把下面的代码放到需要调用的地方

<?php gravatarUrl(邮箱地址); ?>

如果需要修改头像大小(QQ头像不支持)

<?php gravatarUrl(邮箱地址, 'size=64'); ?>

如果需要更换 Gravatar CDN 地址(别忘了/结尾)

<?php gravatarUrl(邮箱地址, 'prefix=https://gravatar.loli.net/avatar/'); ?>
null content 目录 主题 function 链接 hide jpg 代码 array 文件 头像 str url qqnum start
打赏
相关推荐
  • WordPress 高级模板 Vieu 主题 V4.5 免授权正式版

    主题亮点全站自适应全站响应式自适应模板,一个模板手机电脑平板都能访问自定义风格可组合开启,最大化支持自定义组合各种风格VIP会员功能新增会员下载、会员可见、会员打折等专属功能,不同等级会员权限不同付费商城文章内支持付费下载、付费可见、全文付费阅读等功能独立下载本站自主开发集成独立下载功能,支持...
    2020-09-20 922 0 0
  • ZiBll 3.3-专为博客、自媒体、资讯类网站开发的wordpress主题

    主题介绍Zibll子比主题专为阅读类网站开发,设计简单优雅、功能众多。UI界面模块化、多种布局、多样显示效果可选择,超自由,更容易搭配出自己喜欢的网站。整体的开发理念都是围绕着阅读体验!减少花里胡哨的沉郁功能,把核心都集中在内容上。页面的布局、间距、功能都精心设计,只为让页面浏览更加自然,让用...
    2020-09-19 899 0 0
  • Moz自适应typecho主题

    特点全站无插件,极其容易配置Pjax代码高亮,内置github风格响应式三栏式设计,高效专注设计坚持沿用三栏式设计,考虑到显示器大屏销量在京东比较好,大家普遍都是24寸以上的屏幕了,所以坚持不适用width:1170px;margin:0 auto这样的结构设计,充分利用网页的每一寸空间,大不...
    2020-09-16 857 0 0

发表评论

;-) :| :smile: :sad: :razz: :oops: :o :lol: :grin: :cry: :cool: :???:

评论列表(6条)

Typecho获取QQ头像,隐藏QQ号
09/06
2020
spzac主题免费版默认就支持获取QQ头像,而且很久之前“狗花”说这个头像获取泄露他Q了,我一...
扫描右侧二维码阅读全文