本帖最后由 麦田孤望者 于 2020-8-7 16:41 编辑
最近想做钉钉捕获群聊消息的功能(别问 问就是我闲的)
登录解决了 但是在获取消息部分难住了
钉钉网页版使用的是websocket
我模拟时用的是python的websocket-cilent 包
第一个请求模拟成功
但是上传的第二个 我按照它的Data构建了一个一模一样的请求 (token换成了实时获取的)
但是返回的是
{
"headers": {
"dt": "j",
"mid": "d57f0000 0",
"sid": "0bfb43925f2bfe4d09b25e90f26dca0db29e55b468e0"
},
"code": 400,
"body": {
"reason": "request.ua.empty",
"code": "4000000",
"developerMessage": "#getLwpRequestContext error : ua is empty, sid=0bfb43925f2bfe4d09b25e90f26dca0db29e55b468e0, uid=null",
"scope": "reg"
}
}
当我加上UA后
{
"headers": {
"dt": "j",
"mid": "d57f0000 0",
"sid": "0b0e45945f2bfecf298d4a28be94d1da9e6a7253443b"
},
"code": 400,
"body": {
"reason": "request.sidDidTokenAppkey.empty",
"code": "4000009",
"developerMessage": "#getLwpRequestContext error : one of collection tags {sid, did, token, appkey} is empty, sid=0b0e45945f2bfecf298d4a28be94d1da9e6a7253443b, uid=null",
"scope": "reg"
}
}
当我把它要求的四项全部补全后(sid是第一次请求返回的,did(我猜)是deviceid 在cookies里,token是登录时返回的accesstoken,appkey是定值)
它告诉我did或appkey不相等
求如何获取消息 谢谢了!
谢谢兄弟们!验证通过了! |