Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2017-04-27 下午 5:44 开始,消息类型 51 收到的 Content 变成空内容了,导致再也取不到联系人的“明文ID” #7

Open
moontide opened this issue May 2, 2017 · 2 comments

Comments

@moontide
Copy link
Owner

moontide commented May 2, 2017

如日志所示,观察一下 Content 里的内容,是空的

2017-04-27 17:44:39.684 [信息] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 
--------------------------------------------------
2017-04-27 17:44:39.685 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 webwxsync 设置的新 Cookie (保持会话不过期可能就指望它了):
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:     [webwx_data_ticket=********************; Domain=.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT, wxsid=**********; Domain=wx2.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT, wxuin=**********; Domain=wx2.qq.com; Path=/; Expires=Sun, 30-Apr-2017 09:44:39 GMT, wxpluginkey=**********; Domain=wx2.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT]
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 webwxsync 的 http 响应消息体:
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: {"BaseResponse":{"Ret":0,"ErrMsg":""},"AddMsgCount":1,"AddMsgList":[{"MsgId":"********************","FromUserName":"@****************************************************************","ToUserName":"@@****************************************************************","MsgType":51,"Content":"","Status":3,"ImgStatus":1,"CreateTime":1493286279,"VoiceLength":0,"PlayLength":0,"FileName":"","FileSize":"","MediaId":"","Url":"","AppMsgType":0,"StatusNotifyCode":2,"StatusNotifyUserName":"@@****************************************************************","RecommendInfo":{"UserName":"","NickName":"","QQNum":0,"Province":"","City":"","Content":"","Signature":"","Alias":"","Scene":0,"VerifyFlag":0,"AttrStatus":0,"Sex":0,"Ticket":"","OpCode":0},"ForwardFlag":0,"AppInfo":{"AppID":"","Type":0},"HasProductId":0,"Ticket":"","ImgHeight":0,"ImgWidth":0,"SubMsgType":0,"NewMsgId":********************,"OriContent":""}],"ModContactCount":0,"ModContactList":[],"DelContactCount":0,"DelContactList":[],"ModChatRoomMemberCount":0,"ModChatRoomMemberList":[],"Profile":{"BitFlag":0,"UserName":{"Buff":""},"NickName":{"Buff":""},"BindUin":0,"BindEmail":{"Buff":""},"BindMobile":{"Buff":""},"Status":0,"Sex":0,"PersonalCard":0,"Alias":"","HeadImgUpdateFlag":0,"HeadImgUrl":"","Signature":""},"ContinueFlag":0,"SyncKey":{"Count":10,"List":[{"Key":1,"Val":**********},{"Key":2,"Val":**********},{"Key":3,"Val":**********},{"Key":11,"Val":**********},{"Key":13,"Val":**********},{"Key":201,"Val":**********},{"Key":203,"Val":**********},{"Key":1000,"Val":**********},{"Key":1001,"Val":**********},{"Key":1004,"Val":**********}]},"SKey":"","SyncCheckKey":{"Count":10,"List":[{"Key":1,"Val":**********},{"Key":2,"Val":**********},{"Key":3,"Val":**********},{"Key":11,"Val":**********},{"Key":13,"Val":**********},{"Key":201,"Val":**********},{"Key":203,"Val":**********},{"Key":1000,"Val":**********},{"Key":1001,"Val":**********},{"Key":1004,"Val":**********}]}}


2017-04-27 17:44:39.815 [严重] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: @**************************************************************** → @@****************************************************************
2017-04-27 17:44:39.815 [详细] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: * 是自己发出的消息,现在改一下“回复给谁 / ReplyTo”
2017-04-27 17:44:39.816 [信息] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: 收到类型=51, ID=******************** 的消息(自己在其他设备上发出的)
 → 【********】:

[Fatal Error] :1:1: 文件提前结束。
nu.xom.ParsingException: 文件提前结束。 at line 1, column 1
        at nu.xom.Builder.build(Unknown Source)
        at nu.xom.Builder.build(Unknown Source)
        at nu.xom.Builder.build(Unknown Source)
        at net_maclife_wechat_http_BotEngine.OnOperationMessageReceived(net_maclife_wechat_http_BotEngine.java:1756)
        at net_maclife_wechat_http_BotEngine.OnMessagePackageReceived(net_maclife_wechat_http_BotEngine.java:1259)
        at net_maclife_wechat_http_BotEngine.run(net_maclife_wechat_http_BotEngine.java:958)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束。
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
        ... 11 more

以前,Content 的内容会是类似下面格式的数据:

<msg>
<op id='2'>
<username>********@chatroom</username>
</op>
</msg>

username 节点的内容就是联系人的明文 ID -- 在不同的登录会话之间是不会变化的。

大概 40 天之前我在 Urinx/WeixinBot#138 (comment) 解答过,不知是否被腾讯员工看到,进而做了更改?

@iflamed
Copy link

iflamed commented May 2, 2017

原本的默认Alias 应该也是用户的微信号的,现在好像都是空的了

@moontide
Copy link
Owner Author

moontide commented May 3, 2017

@iflamed 我重新登录了一下,好像是的… 不知道腾讯这么做有什么想(顾)法(虑),因为直接向【不在微信通讯录的好友或者群】的明文 ID 发消息是发不成功的:

/msg 10000@chatroom test

2017-05-03 11:15:48.625 [警告] net_maclife_wechat_http_BotApp ProcessBaseResponse: WebWeChatSendMessage 失败,代码: 1201

不管怎么说,在 WeChatBotEngine 日志文件里,我还能搜到明文 ID,只能从日志文件里手工整理一份表格来用了。

moontide added a commit that referenced this issue May 16, 2017
…,日志输出时取不到人名的问题;另外,针对问题 #7 号问题做了优化:把空 Content 当 XML 数据解析时不再报异常。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants