今天发了条说说,但是马上有人给我点赞了,懂得都懂(秒赞)

然后我就忍不住去抓包了

url很简单,只有一个gtk,这个熟悉QQ空间的都知道,是带入p_skey计算得来了的

post提交,看一下提交表单

qzreferrer,固定不变的

opuin,QQ号

unikey:每条说说一个值

curkey: 每条说说一个值

form:固定不变

appid:相当于说说的id吧,每条说说一个值

typeid:说说类型,也不知道什么类型,但是会变的

abstime:说说发布的时间

fid:每条说说一个值

active:固定不变

fupdate:固定不变

有的值是每条说说一个,那么势必在加载说说的时候可以获取到

于是我又一次抓包(刷新网页然后点赞),

然后直接搜索我们的说说内容

出现过后点击进去

好嘛,这不就是json吗,复制粘贴,开始解析

慢着,好像不对

这不是json,因为他的键没有带引号啊,解析错误

算了,不管那么多了,看一下能不能找到点赞时提交的表单里的对应的值

可以找到,这样的话就简单很多了

这里有一个小技巧,我只复制了unikey的后面字符串,并没有复制所有的

因为我们不确定\符号是否被转义,所以查找的时候要尽量避开

剩余几个都可以找到,就不放图了

然后把他们一一取出来,之后就简单很多了

上图的那个url,把自己的值带入,然后提交(需带上cookie)。

返回值是json格式的,succ代表点赞成功

以上所有的提交操作都需要带入QQ空间的cookie

[infobox title="拓展"]

但是我并不满足于此,我还在好奇历史说说是如何获取的

于是我继续把QQ空间下滑到最底部(因为这样会获取历史说说)

可是控制台没有feed3_html_more的流量,这就代表没有触发说说加载,于是我再次向下滑到底部,这次出现了

有人好奇为什么非要是这个地址呢,因为这个地址就是获取说说的,不相信你翻看上面的截图

查找一下加载的是不是历史的说说,确认是的(这里不放截图了)

于是开始研究这个获取说说的地址有什么特别之处

首先应该先把url给精简,不必要的都去掉

每去一个都访问试一下,看返回内容是否不变,如果发生了改变

那么这个值肯定是不能去除的,得保留

于是我把链接精简到了如此之短

https://user.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds3_html_more?uin=334412698&begintime=1619002010&g_tk=1034174119

uin和gtk肯定是不能改动的,于是我把begintime格式化了一下

 

这………是个什么时间,也不是我当前的时间啊

等下,begintime直译过来就是开始时间,会不会是以这个时间点开始

返回后面的几条说说

那么验证一下就可以了

用上面精简的链接,时间戳改为QQ空间内的任意一条说说的时间点

提交过后看一下返回的说说是不是和QQ空间的对应

然而,第一个说说是从18:46开始的 难道我真的错了吗

不对,我好像明白了什么

我又一次把时间戳改为了19:10:00

果不其然

下面说明一下为什么

begintime为开始时间,意思是说从这个时间点往前几条说说被返回

这就解释了为什么19:10:00可以返回19:07的说说了

至于为什么之前提交19:07:00的时候,不能返回19:07的说说

那是因为那条说说不是19:07:00整时整点发的

在返回数据的abstime就是当前说说的发布时间

查一下就知道了

终于,这就解释的通了

[/infobox]

[title]最后,计划分析一下QQ空间发说说……时间:可能鸽了[/title]

 

One thought on “记录–QQ空间(1):点赞”

发表回复