这是上次的QQ空间点赞原理的续集:QQ空间发说说

上集链接:http://www.fuxi.info/archives/176

依然是基于网页版QQ空间分析:http://qzone.qq.com

说实话本次的记录较为复杂,特别是需要带图片发说说,图片需要预先处理

好了,话不多说,下面正文

[infobox title=""]

先发个只有文字的说说,抓包分析一下

发好说说,直接搜索说说的内容,只有一个地址

来看看分析一下

URL:只有一个g_tk是变动的,依然是根据p_skey计算得来的

con:说说的文本内容

hostuin:发说说人的QQ

qzrefrttrt:发说说人QQ空间主页,其实就更换一下QQ号就行了

返回值:callback函数内,是json

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
        <script type="text/javascript">
            var cb;
            try {
                document.domain = "user.qzone.qq.com";
                cb = frameElement.callback;
            } catch (e) {
                try {
                    document.domain = "user.qzone.qq.com";
                    cb = frameElement.callback;
                } catch (e) {
                    document.domain = "user.qzone.qq.com";
                    cb = frameElement.callback;
                }
            }
            frameElement.callback({
                "activity": [],
                "attach": null,
                "auth_flag": 0,
                "code": 0,
                "conlist": [{
                    "con": "这是一条聪明人才可以看得见的说说",
                    "type": 2
                }],
                "content": "这是一条聪明人才可以看得见的说说",
                "message": "",
                "ourl_info": null,
                "pic_template": "",
                "right": 1,
                "secret": 0,
                "signin": 0,
                "smoothpolicy": {
                    "smoothpolicy": {
                        "comsw.disable_soso_search": 0,
                        "l1sw.read_first_cache_only": 0,
                        "l2sw.dont_get_reply_cmt": 0,
                        "l2sw.mixsvr_frdnum_per_time": 50,
                        "l3sw.hide_reply_cmt": 0,
                        "l4sw.read_tdb_only": 0,
                        "l5sw.read_cache_only": 0
                    }
                },
                "subcode": 0,
                "t1_icon": -1,
                "t1_name": "Mr.浮熙",
                "t1_ntime": 1621866029,
                "t1_source": 1,
                "t1_source_name": "",
                "t1_source_url": "",
                "t1_tid": "9abbee132db6ab60a4e90000",
                "t1_time": "22:20",
                "t1_uin": 334412698,
                "to_tweet": 0,
                "ugc_right": 1
            });
        </script>
    </body>
</html>

其他值,不知道。但是别急,先用工具发包试一下能不能成功

 

这里提交数据里的文字实际上是需要UTF8编码的,但是我希望大伙可以看的更清楚

所以开启了此工具的自动编码功能

cookie是需要uin,skey以及p_skey三个即可

很显然,直接提交成功

 

那么接下来我们再去网页版QQ空间发说说,只不过这时我们需要一点变化

比如说:at某个人、设置某人不可见、设置定时发送

然后再把提交的包和现在的包对比,就可以发现哪里不一样了

也就可以分析出其他参数代表什么了

  • 所有人可见 ugc_right=1
  • QQ好友可见 ugc_right=4
  • 仅部分好友可见 ugc_right=16 并且提交时需再添加一个参数allow_uins,值为可见的好友,用英文的“|”分开
  • 仅部分好友不可见 ugc_right=128 并且提交时需再添加一个参数allow_uins,值为不可见的好友,用英文的“|”分开
  • 仅自己可见 ugc_right=64
  • 如果是定时说说:
    • url是:https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_timershuoshuo_v6?&g_tk=g_tk的值
    • 提交数据额外有一个参数time:正常说说没有此参数,只有是定时说说时,此处为定的时间,请使用10位时间戳格式

[/infobox]

[infobox title="拓展"]

发说说带图片……待续……

[/infobox]

发表回复