PHP实现获取Q头像和昵称

在搭建api时,遇到问题,网上大多数获取某Q信息的api已失效,获取头像的api比较稳定,但获取昵称的api大多不能长久。于是查找资料解决此问题,最后找到了思否的帖子。

<?php
// header
header("Content-Type:application/json");
error_reporting(E_ALL^E_NOTICE^E_WARNING);
// 获取QQ号
$qq = $_GET["qq"];
// 过滤
if (trim(empty($qq))) {
    echo json_encode(array('msg' => 'null'),true);
}else{
    // 获取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];
    $qqnickname = json_decode($result, true)["$qq"][6];
    $qqheadimg = "http://q1.qlogo.cn/g?b=qq&nk=".$qq."&s=100&t=1547904810";
    // 开始判断这个QQ号是不是有真实用户信息返回
    if ($qqnickname) {
        // 如果有,就可以返回JSON数据
        echo json_encode(array('msg' => 'success','nickname' => $qqnickname,'headimg' => $qqheadimg),true);
    }else{
        //如果没有,那么只能返回获取失败
        echo json_encode(array('msg' => 'error'),true);
    }
}
?>

我由此制作了一个api:https://api.jishusongshu.com/qqinfo.php?qq=

请求示例:https://api.jishusongshu.com/qq.php?qq=2389757997

{
msg: "success",
nickname: "沉默剑士",
headimg: "http://q1.qlogo.cn/g?b=qq&nk=2389757997&s=100&t=1547904810"
}

api文档:https://api.jishusongshu.com/qqinfo.html

api源码:

温馨提示: 此处内容需要登录留言后才能查看.

参考资料:思否-免登录 只需要一个Q号就能获取头像和昵称API

本文采用 CC BY-NC-SA 3.0 Unported 许可,转载请以超链接注明出处。
原文地址:PHP实现获取Q头像和昵称 作者:松鼠小
上一篇
下一篇