实现Typecho评论框输入QQ号码自动获取QQ头像和昵称

玩不溜,花了不少时间才实行了这个功能,网上找打的都是wordpress比较多,结构不是很熟悉,又用不了,看看评论效果把

输入QQ就自动获取昵称,邮箱和头像,可能还有不少错误或者不严谨的地方,不过,基本上也就大概了…… 留个记录方便有缘人折腾下饭

主要核心还是ajax去处理,获取到QQ身份的数据信息,比如……

<?php 
// 通过QQ号即可获取用户信息

// 获取QQ头像接口
// http://q1.qlogo.cn/g?b=qq&nk=QQ号&s=100&t=1547904810

// 获取QQ昵称接口
// http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?g_tk=1518561325&uins=QQ号

// BY TANKING
// LIKEYUNBA.COM

header('Content-Type: text/html;charset=utf-8');
    $QQ=$_GET["qq"];
    if($QQ!=''){
        $urlPre='http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?g_tk=1518561325&uins=';
        $data=file_get_contents($urlPre.$QQ);
        $data=iconv("GB2312","UTF-8",$data);
        $pattern = '/portraitCallBack\((.*)\)/is';
        preg_match($pattern,$data,$result);
        $result=$result[1];
        $nickname = json_decode($result, true)["$QQ"][6];
        echo "QQ昵称:".$nickname;
        echo "<br/><br/>";
        $headimg = "http://q1.qlogo.cn/g?b=qq&nk=$QQ&s=100&t=1547904810";
        echo "QQ头像:";
        echo "<br/><br/>";
        echo "<img src=\"$headimg\">";
        echo "<br/><br/>";
        $email = $QQ."@qq.com";
        echo "QQ邮箱:".$email;
        echo "<br/><br/>";
        echo "JSON数据:";
        echo "[{\"nickname\":\"$nickname\",\"touxiang\":\"$headimg\",\"email\":\"$email\"}]";
    }else{
        echo "请输入qq号!";
    }
?>

上面就差不多已经很足够了吧……

那么建立php文件,新建……get_qq_info.php

代码如下

<?php 
header('Content-Type: text/html;charset=utf-8');

$QQ=$_POST["qq"];
if($QQ!=''){
  
$urlPre='http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?g_tk=1518561325&uins=';
$data=file_get_contents($urlPre.$QQ);
$data=iconv("GB2312","UTF-8",$data);
$pattern = '/portraitCallBack\((.*)\)/is';
preg_match($pattern,$data,$result);
$result=$result[1];
$nickname = json_decode($result, true)["$QQ"][6]; 

$geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$QQ;
$qqurl = file_get_contents($geturl);
$str1 = explode('sdk&k=', $qqurl);
$str2 = explode('&t=', $str1[1]);
$k = $str2[0];
if(empty($k)){
$url = '/usr/themes/spzac/img/wu-user.png';
} 
else{ $url = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';} 

$aaa =  array('name'=>$nickname,'qqtx'=>$url);
$bbb  =json_encode($aaa);
echo $bbb;
  
}else{
echo "请输入qq号!";
}
?>

里面主要是通过qq获取了昵称和头像,头像的获取和前面不太一样,我这里设置的比较准确……把…,如果不准确,那也算了

参考文章:《typecho获取QQ头像,隐藏QQ号

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索