发布价值信息
Wordpress、Software、VPN。。

js+php 获取 qq 昵称和头像

这篇文章发布时间为2017年4月2日,因年久失修,一些图片或者资源可能已经失效。 如果出现这些问题,请在下面留言,我们会尽快修复。

2017 年 10 月 20:由于腾讯更新了限制,服务器在国外的朋友使用此接口将无法获取 QQ 昵称,本站就遭了殃

实例图:

js+php 获取 qq 昵称和头像

注意:

开始之前,需要引入 jquery 库及 php 环境

http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=qq 号
http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=qq 号

返回数据格式如下(注:返回的编码是 gbk)

portraitCallBack({"qq 号":["http://qlogo4.store.qq.com/qzone/qq 号/qq 号/100",927,-1,0,0,0,"qq 昵称",0]})

获取 qq 头像

http://q.qlogo.cn/headimg_dl?dst_uin=qq 号&spec=100
http://q1.qlogo.cn/headimg_dl?dst_uin=qq 号&spec=100
http://q2.qlogo.cn/headimg_dl?dst_uin=qq 号&spec=100
http://q3.qlogo.cn/headimg_dl?dst_uin=qq 号&spec=100
http://q4.qlogo.cn/headimg_dl?dst_uin=qq 号&spec=100

上面的 5 种方法都暴露了 qq 号,下面两种返回的数据将 qq 号加密了:

http://ptlogin2.qq.com/getface?appid=716027402&imgtype=3&uin=qq 号
http://ptlogin2.qq.com/getface?appid=1006102&imgtype=3&uin=qq 号

返回数据格式如下:

pt.setHeader({"qq 号":"http:\/\/q4.qlogo.cn\/g?b=qq&k=m1Hlmek4KOJ9ukevInNDJw&s=100&t=1483333237"});

js + php 获取 qq 昵称及头像

html 和 js 代码如下:

<dl>qq<input type="text" name="" id="qqnum" value="" /></dl>
<dl>昵称<input type="text" name="" id="comname" value="" /></dl>
<dl>邮箱<input type="text" name="" id="commail" value="" /></dl>
<div id="avatar"></div>
<script type="text/javascript" src="https://limh.me/js/jquery-1.11.1.min.js"></script>
<script>
$("#qqnum").blur(function(){
	var qq=$("#qqnum").val();
	$("#commail").val(qq+"@qq.com");
	$.ajax({
		type: "get",
		url: "getqqinfo.php?a=getqqnickname&qq="+qq,
		dataType: "jsonp",
		jsonp: "callback",
		jsonpCallback: "portraitCallBack",
		success: function(data) {
			$("#comname").val(data[qq][6]);
		},
		error: function() {
			$("#comname").val("获取失败");
		}
	});
	$.ajax({
		type: "get",
		url: "getqqinfo.php?a=getqqavatar&qq="+qq,
		dataType: "jsonp",
		jsonp: "callback",
		jsonpCallback: "qqavatarCallBack",
		success: function(data) {
			$("#avatar").html("<img src='"+data[qq]+"'>");
		},
		error: function() {
			alert("获取头像失败啦");
		}
	});
})
//var str = "599580031@qq.com";
//str = str.substr(0, str.indexOf('@'));
//alert(str);
</script>

getqqinfo.php 文件代码如下:

<?php
header("content-Type: text/html; charset=Utf-8");
$a = @$_GET['a'] ? $_GET['a'] : '';
if(empty($a)){
	header("Location: ../");
	exit;
}
if($a == "getqqnickname"){
	$qq = isset($_GET['qq']) ? addslashes(trim($_GET['qq'])) : '';
	if(!empty($qq) && is_numeric($qq) && strlen($qq) > 4 && strlen($qq) < 13){
		$qqnickname = file_get_contents('http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins='.$qq);
		if($qqnickname){
			$qqnickname = mb_convert_encoding($qqnickname, "UTF-8", "GBK");
			echo $qqnickname;
		}
	}
}
if($a == "getqqavatar"){
	$qq = isset($_GET['qq']) ? addslashes(trim($_GET['qq'])) : '';
	if(!empty($qq) && is_numeric($qq) && strlen($qq) > 4 && strlen($qq) < 13){
		$qqavatar = file_get_contents('http://ptlogin2.qq.com/getface?appid=1006102&imgtype=3&uin='.$qq);
		if($qqavatar){
			echo str_replace("pt.setHeader","qqavatarCallBack",$qqavatar);
		}
	}
}
?>

展开阅读全文
赞(1) 打赏本站

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
打赏作者
未经允许不得转载:何先生 » js+php 获取 qq 昵称和头像
分享到: 更多 (0)

评论 6

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 沙发

    QQ信息获取测试评论

    逆行
    0
    2年前 (2017-04-05)回复 Windows 7 Google Chrome
  2. 板凳
    <time>签到成功!签到时间:下午8:46:30,每日签到,生活更精彩哦~</time>
    野人
    0
    2年前 (2017-04-16)回复 Windows 7 Google Chrome
  3. 地板

    WordPress怎么实现呀作者,comments代码默认是get_avatar

    梓瑜
    1
    2年前 (2017-05-22)回复 Windows 10 Google Chrome
  4. 4楼

    看下

    夜色ㄨ静好
    0
    2年前 (2017-07-25)回复 Windows 10 Google Chrome

何先生的博客 专注分享 更优质

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

何先生自用推荐:Vultr vps

限时:注册即可赠送 $25美元

服务器每月仅需:$5/月

注册