利用魔兽世界战网API收集数据,从而起底同账号角色的新方法
来源:互联网 发布:php命令行执行 编辑:程序博客网 时间:2024/05/01 15:50
最近在NGA论坛看到某位神人的WOW同账号角色起底软件(易语言编),
大概原理是利用新浪游戏和捞月狗的工会列表获得玩家ID,然后通过收集玩家成就点数 坐对比查出相同成就点的玩家角色名 从而证明其为同一账号,
这确实可行,不过误报会很多,他的软件也很多问题.这几天我用QT在编一个,发布出来 .
其实获取服务器的全部工会列表很困难,依赖外部网站收集的列表还是比较靠谱的,毕竟魔兽战网API没有提供查询特定服务器所有工会名称的接口
工会成员列表到时提供了
通过 http://www.battlenet.com.cn/api/wow/guild/魔兽服务器名/工会名称?fields=members/
就可以获取改工会的全部成员jsion信息 不过战网貌似很脆弱 动不动就出问题 如无意外会缓慢的卡出来以下数据:
{"lastModified":1392784670000,"name":"工会名称","realm":"魔兽服务器名","battlegroup":"Battle Group 5","level":25,"side":1,
"achievementPoints":660,
"members":[
{"character":{"name":"工会成员1","realm":"魔兽服务器名","battlegroup":"Battle Group 5","class":4,"race":5,"gender":0,
"level":90,
"achievementPoints":10475,<---------成就点
"thumbnail":"eldrethalas/166/724134-avatar.jpg",
"spec":{"name":"战斗",
role":"DPS",
"backgroundImage":"bg-rogue-combat",
"icon":"ability_backstab",
"description":"敏捷而狡诈的游荡剑客,擅长与敌人短兵相接。",
"order":1}, <---------默认三系天赋 123
"guild":"工会名称",
"guildRealm":"魔兽服务器名"},
"rank":1}, <---------工会等级排名 0=会长 依次递减
{"character":{"name":"工会成员2","realm":"魔兽服务器名","battlegroup":"Battle Group 5","class..........,
如果有全服务器的工会列表 99.9%的玩家信息都能拿下 wow很少有没入会的玩家吧,他们算是漏网之鱼~
我想到些方法或许可以解决误报 如下:
1,同账号角色战斗宠物是共享的(只适用于开通了宠物对战的玩家) 即使是对立阵营角色,所以宠物栏宠物必定相同,宠物数必定相同
方法: (a), 发送Http请求获取玩家宠物栏jsion数据, http://www.battlenet.com.cn/api/wow/character/魔兽服务器名/玩家角色名?fields=petSlots
"petSlots":[{"slot":1,"battlePetGuid":"0000000001516D22","isEmpty":false,"isLocked":false,"abilities":[921,919,917]}, <--------1号宠物栏 battlePetGuid为宠物ID
{"slot":2,"battlePetGuid":"00000000003C4897","isEmpty":false,"isLocked":false,"abilities":[111,158,762]}, <----------2号宠物栏
{"slot":3,"battlePetGuid":"00000000022E6523","isEmpty":false,"isLocked":false,"abilities":[504,507,506]}], <----------3号宠物栏
(b),发送Http请求,获取角色所有宠物http://www.battlenet.com.cn/api/wow/character/魔兽服务器名/玩家角色名?fields=pets
"pets":{"numCollected":138, <-----目前宠物数
"collected":[{"name":"金色麝猫","spellId":0,"creatureId":63841,"itemId":0,"qualityId":3,"icon":"inv_...........}, <----------------------战斗宠物列表
{"name":"兴奋的萤火虫","spellId":0,"creatureId":63850,"itemId":0,"qualityId":3,"icon":"ability_...................},
比对宠物槽和列表进行匹配.
2.同账号角色坐骑共享
方法: 发送HTTP请求获取角色坐骑jsion数据,http://www.battlenet.com.cn/api/wow/character/魔兽服务器名/玩家角色名?fields=mounts
"mounts":{"numCollected":40, <-----目前坐骑数
"collected":[ {"name":"勇猛的战狼","spellId":100333,"creatureId":53985,"itemId":70910,"qualityId":4,"ico.......}, <----------------------坐骑列表
{"name":"大型美酒节科多兽","spellId":49379,"creatureId":27707,"itemId":37828,"qualityId":4,"i......},
比对坐骑数和坐骑列表 记得排除PVP评级奖励坐骑筛选.
3.老方法成就点
方法: 发http://www.battlenet.com.cn/api/wow/character/魔兽服务器名/玩家角色名
"achievementPoints":10475, <----------------------成就点
通过上面几种筛选出来的玩家角色 误报会很少,有缘人的概率很低~
- 利用魔兽世界战网API收集数据,从而起底同账号角色的新方法
- 魔兽世界角色
- Unity3D模仿《魔兽世界》的第三人称角色控制器
- 魔兽世界角色换装分析
- 魔兽世界角色换装分析
- 数据快速查询的新方法
- 魔兽世界常用宏收集
- 中国天气预报数据API收集
- 中国天气预报数据API收集
- 采用用同步编程的方式实现跨进程异步获取数据[二]-创建玩家账号和获取角色列表
- 利用rrdtool 进行数据的收集绘图统计,网页显示
- 利用javascript把javascript的数据同form的数据一起发送到servlet中
- [转]长期不变的FTP账号 收集
- 101,使用Category给API里面的类添加新方法
- [美术制作流程]魔兽世界角色换装分析
- 魔兽世界私服trinitycore2的架构(3)地图数据
- 利用net本身的角色类生成角色(Roles)
- 利用JAVA API函数实现数据的压缩与解压缩
- 不让键盘挡住UITextField
- 用HTML5呈现出一朵玫瑰,献给所有的有情人
- OJ_1073
- 小鑫的城堡
- httpClient的get请求 请求头gzip和deflate的乱码解决方案
- 利用魔兽世界战网API收集数据,从而起底同账号角色的新方法
- jquery Radio操作
- Java Annotation Overview
- 黑马程序员--基础加强--第九篇--实现类似spring的可配置的AOP框架
- eclipse window 选项下没有Android SDK and AVD Manager项
- Android国际化---Java国际化
- OJ_1074
- Rotate List
- VC++学习之——Edit只能输入数字和小数点