这是上次的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]