今天发了条说说,但是马上有人给我点赞了,懂得都懂(秒赞)
然后我就忍不住去抓包了
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]
[…] 上集链接:http://www.fuxi.info/archives/176 […]