在搭建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源码: