前几天看到群里有人反映评论时,输入QQ后信息获取不到了,有人说是接口挂掉了,就是下图这样,输入QQ后获取不到信息了…
失效的接口展示
瞄了一眼我的,恩,还没失效依然坚挺 ,然后今天发现这个接口真的失效了
接口查找
去百度了一下,找到了可以获取QQ头像和QQ昵称的一个官方的接口:https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=QQ号
试了一下,果然可以~~~
那我们就开始吧(代码最后)
接口替换
我们要找到现在的接口所在:/content/templates/emlog_dux/js/main.js
找到这个文件之后,打开搜索QQ
找到图中的位置就好了
替换接口地址:
原接口:https://bugs.hacking8.com/cdn/1.php
改为:https://tool.fzxywl.cn/getqq
修改之前 获取失效
修改之后 获取正常
代码
不想用接口的 代码拿走自己用
$qq = $_GET['qq']; $url = "https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=".$qq; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); //已经获取到内容,没有输出到页面上. curl_close($ch); $k = iconv("GBK", "UTF-8", $res); // 进行编码转换 $jq = substr($k,31,-2); // 截取需要的部分 $data = json_decode($jq); // 转化为数组 if(empty($data) || $data[6] == ''){ // 不存在就默认 $data = "@@({comname:'路人甲',commail:'lurenjia@fzxywl.cn',comurl:'',toux:'https://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=10001&src_uin=qq.feixue.me&fid=blog&spec=100'})@@"; }else{ $data = "@@({comname:'".$data[6]."',commail:'".$qq."@qq.com',comurl:'',toux:'".$data[0]."'})@@"; } return $data;