获取 QQ 头像地址,并且不暴露 QQ 号

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

上面的地址,中没有 QQ 号,却获取了某人的 qq 头像,里面的重要参数就是 K 的值,那么如何获取 K 值呢?

访问下面的地址就能得到一个 jsonhttp://ptlogin2.qq.com/getface?appid=101382166&imgtype=1&encrytype=0&devtype=0&keytpye=0&uin=扣扣号&r=0.17780657206333406

简化下无用参数,变成http://ptlogin2.qq.com/getface?&imgtype=1&uin=扣扣号

访问上述地址得到的 jsonpt.setHeader({"扣扣号":"http://q3.qlogo.cn/g?b=qq&k=对应的K值&s=40&t=1483323281"});

使用PHP来获取$qq = '你的扣扣号码';

$geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq;

$qquser = file_get_contents($geturl);

$str1 = explode('qq&k=', $qquser);

$str2 = explode('&s=', $str1[1]);

$k = $str2[0];

$qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';

echo $qqimg

扩展 typechofunction qqgravatar ($qq){

$geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq;

$qquser = file_get_contents($geturl);

$str1 = explode('qq&k=', $qquser);

$str2 = explode('&s=', $str1[1]);

$k = $str2[0];

$qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';

return $qqimg;

}

需要提取 qq 头像地址时调用<?php echo qqgravatar('QQ号'); ?>


扫描二维码,在手机上阅读!