返回信息流几天前很火的可以查看被谁删除的程序,分析源码发现可以获取联系人,我就想能不能指定联系人发送消息,用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
这是一条镜像帖。来源:北邮人论坛 / python / #11160同步于 2016/1/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
利用python在后台给微信好友发消息[附代码]
iamluo
2016/1/11镜像同步32 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
https://github.com/HalfdogStudio/wechat-user-bot/blob/master/test.js
接收靠长轮询,心跳包
cmd聊微信。。。应该能做。
webwx老版协议似乎还能用,虽然现在发现每次用户名都不一样了。抓包实现了下,虽然有无法理解的参数,能正常模拟,顺序差不多对
昨天有人在知乎做了这个,也挺好玩的哈
http://www.zhihu.com/question/27621722/answer/81070075
发自「贵邮」
【 在 reverland 的大作中提到: 】
: 群发能指定用户名?
感谢回复~我查的也是根据轮询和心跳包同步,但synckey每次要更新不太会弄,有空把你给的js源码好好看好好学.....
至于群发,我是用for循环实现的,每次循环执行一次sendMsg,如果群发要指定用户名的话,只能定一个范围
【 在 h452114240 的大作中提到: 】
: 昨天有人在知乎做了这个,也挺好玩的哈
: http://www.zhihu.com/question/27621722/answer/81070075
: 发自「贵邮」
确实有趣,真应证了那句话:人生苦短,我用Python