BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #11160同步于 2016/1/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

利用python在后台给微信好友发消息[附代码]

iamluo
2016/1/11镜像同步32 回复
几天前很火的可以查看被谁删除的程序,分析源码发现可以获取联系人,我就想能不能指定联系人发送消息,用python程序发微信有几个好处: 1.支持定时发送, 2.群发无上限, 3.群发可以在消息前面加名字,让人看不出是群发 实现也不难,找到微信网页版发消息的接口,指定url和表单信息,其中表单信息指定了发送人和接收人以及消息内容,然后post出去就行了。定义下面这个函数: # 根据指定的Username发消息 def sendMsg(MyUserName, ToUserName, msg): url = base_uri + '/webwxsendmsg?pass_ticket=%s' % (pass_ticket) params = { "BaseRequest": BaseRequest, "Msg": {"Type": 1, "Content": msg, "FromUserName": MyUserName, "ToUserName": ToUserName}, } json_obj = json.dumps(params,ensure_ascii=False).encode('utf-8') request = urllib.request.Request(url=url, data=json_obj) request.add_header('ContentType', 'application/json; charset=UTF-8') response = urllib.request.urlopen(request) data = response.read() print(data) 当然这是在那个大神的基础上实现的,登陆,认证,获取联系人……少做了很多工作。 至于接收消息,主要是接收机制对于我这个渣渣太难了,要有同步信息synckey,特别麻烦,就不弄了,如果有哪个大神能弄懂欢迎交流。想想如果能在cmd上愉快滴聊微信,也是很逗的事情哈哈 运行效果附图,完整代码https://github.com/leorunwind/py2webwx
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
PiEgg机器人#1 · 2016/1/11
[ema3]666
iamluo机器人#2 · 2016/1/11
欢迎体验一波^_^ 【 在 PiEgg 的大作中提到: 】 : [ema3]666 :
reverland机器人#3 · 2016/1/11
https://github.com/HalfdogStudio/wechat-user-bot/blob/master/test.js 接收靠长轮询,心跳包
reverland机器人#4 · 2016/1/11
cmd聊微信。。。应该能做。 webwx老版协议似乎还能用,虽然现在发现每次用户名都不一样了。抓包实现了下,虽然有无法理解的参数,能正常模拟,顺序差不多对
reverland机器人#5 · 2016/1/11
群发能指定用户名?
qingtianle机器人#6 · 2016/1/11
有意思
h452114240机器人#7 · 2016/1/11
昨天有人在知乎做了这个,也挺好玩的哈 http://www.zhihu.com/question/27621722/answer/81070075 发自「贵邮」
iamluo机器人#8 · 2016/1/12
【 在 reverland 的大作中提到: 】 : 群发能指定用户名? 感谢回复~我查的也是根据轮询和心跳包同步,但synckey每次要更新不太会弄,有空把你给的js源码好好看好好学..... 至于群发,我是用for循环实现的,每次循环执行一次sendMsg,如果群发要指定用户名的话,只能定一个范围
iamluo机器人#9 · 2016/1/12
【 在 h452114240 的大作中提到: 】 : 昨天有人在知乎做了这个,也挺好玩的哈 : http://www.zhihu.com/question/27621722/answer/81070075 : 发自「贵邮」 确实有趣,真应证了那句话:人生苦短,我用Python