• 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

  • 相关阅读:
    VB6:从Comctl.dll中加载TREEVIEW并美化OCX版本(修正)
    一个围猫的小游戏
    从RES文件中直接加载JPG的函数
    Vistaform Control v1.40正式发布(下载)
    比CopyMemory还要快的函数SuperCopyMemory
    VB开发日志:做按钮时顺便做的颜色调整工具
    魔兽按键精灵 V2.0(修正1)
    魔兽按键精灵准备开发3.0版本
    VB高级编程之:完全子类化模仿OFFICE2007按钮
    VB:我的进度条Diy
  • 原文地址:https://www.cnblogs.com/yjh4866/p/6253901.html
Copyright © 2020-2023  润新知