Q宠大乐斗协议全面分析(4)--获取好友信息
2010-10-24 04:29
417 查看
webQQ2.0协议研究群8033525 热烈欢迎高手加入!
大乐斗获取好友信息十分简单,只需要携带cookie访问 http://fight.pet.qq.com/cgi-bin/petpk?cmd=view&kind=1&sub=1就可以了
比较难的是分析个参数的意义,需要多个好友相互对比
服务器返回如下:
{result:'0',msg:'',info:[{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'0',name:'乐斗菜菜', lilian:'19',enable:'1', factionid:'0'},{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'0',name:'乐斗小王子', lilian:'37',enable:'2', factionid:'10007'},{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'2',name:'Going_Down', lilian:'32',enable:'1', factionid:'235884'},................
其中uin为好友的QQ号码 ,flag没去研究 yflag为会员黄钻等信息 name为网名 lilian为等级 enable为0则已经和他打斗过 1 没有打斗过 2他有拳套,没有打斗过
factionid为帮派ID
给出代码:
获取好友
大乐斗获取好友信息十分简单,只需要携带cookie访问 http://fight.pet.qq.com/cgi-bin/petpk?cmd=view&kind=1&sub=1就可以了
比较难的是分析个参数的意义,需要多个好友相互对比
服务器返回如下:
{result:'0',msg:'',info:[{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'0',name:'乐斗菜菜', lilian:'19',enable:'1', factionid:'0'},{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'0',name:'乐斗小王子', lilian:'37',enable:'2', factionid:'10007'},{uin:'xxxxxxxx',flag:'0',yflag:'0',qqflag:'2',name:'Going_Down', lilian:'32',enable:'1', factionid:'235884'},................
其中uin为好友的QQ号码 ,flag没去研究 yflag为会员黄钻等信息 name为网名 lilian为等级 enable为0则已经和他打斗过 1 没有打斗过 2他有拳套,没有打斗过
factionid为帮派ID
给出代码:
获取好友
public Dictionary<string,QchongEntity> getAllFriend() { Dictionary<string,QchongEntity> entitys = new Dictionary<string,QchongEntity>(); HttpHelper.Encoding = Encoding.GetEncoding("gb2312"); string result = HttpHelper.GetHtml("http://fight.pet.qq.com/cgi-bin/petpk?cmd=view&kind=1&sub=1", user.Cookie); result = result.Replace(" ", ""); if (result != "") { //历练导致少取到5个号码 Regex r = new Regex("(uin:')(?<qq>[0-9]{5,11}?)(',flag:'[0-9]{1}',yflag:'[0-9]{1}',qqflag:')(?<qqflag>[0-9]{1}?)(',name:')" +"(?<name>.+?)(',lilian:')(?<lilian>[0-9]{1,2}?)(',enable:')(?<enable>[0-9]{1}?)(',factionid:')(?<factionid>[0-9]{1,6}?)(')", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); MatchCollection m = r.Matches(result); for (int i = 0; i < m.Count; i++) { try { QchongEntity entity = new QchongEntity(); entity.UserName = m[i].Groups["qq"].Value; entity.Qqflag = Convert.ToInt32(m[i].Groups["qqflag"].Value); entity.NickName = m[i].Groups["name"].Value; entity.Liliang = m[i].Groups["lilian"].Value; entity.Factionid = m[i].Groups["factionid"].Value; entity.Enable = Convert.ToInt32(m[i].Groups["enable"].Value); entitys.Add(entity.UserName,entity); } catch (Exception) { continue; } } } AllFriend = entitys; return entitys; }
相关文章推荐
- Q宠大乐斗协议全面分析(5)--获取个人及好友详细信息
- WebQQ协议分析(4)——获取好友信息(1)
- WebQQ协议分析(4)——获取好友信息(1)
- WebQQ协议分析(5)——获取好友信息(2)
- WebQQ协议分析(3)——获取用户信息
- WebQQ协议分析(3)——获取用户信息
- 微信好友分析之获取好友信息
- Q宠大乐斗协议全面分析(1)--序言
- Q宠大乐斗协议全面分析(2)--登录
- python数据分析(1)——获取微信好友的统计信息
- Q宠大乐斗协议全面分析(3)--开通乐斗
- python数据分析(1)——获取微信好友的统计信息
- 恶作剧脚本:获取好友选择信息及Windows电脑基本信息
- asp.net获取MSN、邮箱好友信息
- YARN源码学习(六)-----JobHistory中的job信息获取与分析
- PHP下一个非常全面获取图象信息的函数
- js 获取位置信息方法 navigator.geolocation.getCurrentPosition 失败原因分析
- VirtualBox的Ubuntu中文件共享问题的解决:未处理的错误消息,获取文件"/media/sf_***"信息出错,协议错误
- 蔡军生先生第二人生的源码分析(七十八)LLOSInfo类实现获取操作系统信息
- python数据分析1:获取双色球历史信息