zoukankan      html  css  js  c++  java
  • WebQQ协议分析(4)——获取好友信息(1)

    1、获取好友分组组名列表

    命令:3c

    发送:

    1030196367;3c;0;4b2b432f;1;

    第五个参数只有1和2两个值,什么时候为2未知,用1即可获取到所需数据(可能表示从哪个编号的分组开始获取,最多两次就获取完了,我没创建那么多分组也没法测试啊。~_~)。

    服务器返回:

    1030196367;3c;0;02;1;试试;2;看看;

    第四个是自定义分组的数量。再往后就明白了,需要说明的是自定义分组序号是从1开始的,0是“我的好友”系统默认的分组,1000是“陌生人”,1001是“黑名单”,显然自定义分组上限是999,超不过999。

    有没有想过?这些数据由“;”分开,那组名能不能有“;”呢?答案是肯定的,不信你试试。加过分号后的数据如下

    1030196367;3c;0;02;1;试%3B试%3B;2;%3B2%3B;

    看到了吧?分号变成%3B,具体哪些要特殊处理另外说明。注意,分组序号不一定是连续的,可能没有某个或某几个序号。

    这样好友分组组名列表就获取完了,下面开始获取好友吧。

    2、获取好友QQ号

    命令:58 

    发送:

    1030196367;58;0;4b2b432f;0; 

    第五个表示从哪个好友QQ号开始获取,第一次请求自然是0了。

    服务器返回如下数据(个人隐私,好友QQ号用XXXX代替)

    1030196367;58;0;0;XXXX;0;8;10;3;XXXX;0;4;20;3;XXXX;0;0;10;3;XXXX;1;0;20;3;

    第四个是下次从哪个QQ号开始获取(一次可能获取不完),例子中的数据显然是指这次就把所有数据都获取完了。

    XXXX就是好友QQ号了,第二个值如果小于4表示服务器返回的这些好友数据每五项为一个好友数据,否则每四项为一个好友数据,0表示是好友QQ号,1表示是群ID(但不是群号)。第三个为所属分组编号(明显不对,呵呵,计算方法是(n&60)>>2,这个结果就是所属分组编号了);第四个是好友状态,10表示在线,20表示下线,30表示离线,其他当下线处理;有第五个,第五个表示terminationStat,自己上次退出登录时该好友的状态。

      

    作者:yjh4866

    源地址:http://blog.csdn.net/yjh4866

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    互联网大厂CTO详解5大软件架构,看完这篇你就秒懂
    5-10年的DBA如何独当一面?这10个建议送给你(附图书工具推荐)
    2020 从新开始:你应该知道的Oracle认证新变化
    Centos7部署NFS实战
    你的公司,远程办公多久了?
    PostgreSQL的几种分布式架构对比
    数据库周刊 | DBA 核心技能
    理解redis 分布式中的分片机制
  • 原文地址:https://www.cnblogs.com/yjh4866/p/6253901.html
Copyright © 2011-2022 走看看