• 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

  • 相关阅读:
    转(Java中的递归思想)
    stuff thing object 区别
    论文阅读笔记ECCV 2018: Factorizable net: an efficient subgraphbased framework for scene graph generation
    论文阅读笔记Adversarial Learning with Mask Reconstruction for TextGuidedImage Inpainting
    论文阅读笔记Image Generation from Scene Graphs
    评价gan好坏的指标:IS和FID
    深度学习——正则化(L1\L2)(还没搞明白
    Adam
    L1 L2 SmoothL1损失函数
    ground truth
  • 原文地址:https://www.cnblogs.com/yjh4866/p/6253901.html
Copyright © 2020-2023  润新知