class MyWechat(object): """ my wechat platform """ def __init__(self, username, password, cookiePath='/tmp/cook_wexin.zoo'): """ init wechat object """ self.__user = username self.__pass = password self.__token = '' self.__cookies = '' self.__cookiePath = cookiePath def __password_login(self): """ login 后生成缓存文件, 以用户和密码的形式登陆 """ self.__wechat = WechatExt(username=self.__user, password=self.__pass, login=False) try: self.__wechat.login() except NeedLoginError: print "your need to retry login." with open(self.__cookiePath, 'w') as f: json.dump(self.__wechat.get_token_cookies(), f) def __token_login(self): """ 载入缓存 cookie 和 token的文件, 以token的形式登陆 """ with open(self.__cookiePath, 'r') as f: cookie = json.load(f) self.__cookies = cookie['cookies'] self.__token = cookie['token'] self.__wechat = WechatExt(username=self.__user, password=self.__pass, token=self.__token, cookies=self.__cookies, login=False) def login(self): """ 执行login() 可以有效应对可能出现的验证码问题。 """ if not os.path.exists(self.__cookiePath): self.__password_login() else: self.__token_login() try: self.__wechat.get_group_list() except NeedLoginError, e: self.__password_login()
def login_http(username, password): wechat = WechatExt(username, password) wechat.login() if not exists(cookie_dir): makedirs(cookie_dir) fn = join(cookie_dir, 'cookie_{}.html'.format(today())) with open(fn, 'w') as f: json.dump(wechat.get_token_cookies(), f, indent=4) return wechat
def login(username, password): d = r.get(username) if d: log.info('lazy login. use cookie, username={}'.format(username)) return WechatExt(username, password, login=False, **json.loads(d)) else: print username, password wechat = WechatExt(username, password, login=False) wechat.login() log.info('login to wechat server. username={}'.format(username)) r.setex(username, LOGIN_TIMEOUT, json.dumps(wechat.get_token_cookies(), indent=4)) return wechat
def auto_login(): wechat = WechatExt(login=False, username='', password='', ifencodepwd=True) print wechat r = wechat.login() print r pass
# -*- coding: utf-8 import json import sys from wechat_sdk import WechatExt # str(sys.argv[1]) # str(sys.argv[2]) wechat = WechatExt(username='', password='',login=False) wechat.login(verify_code='FLWq') #wechat.get_verify_code('verify.png') # HYKW # 获取未分组中所有的用户成员 user_list = wechat.get_user_list() print user_list print '===================================' # 获取分组列表 group_list = wechat.get_group_list() print group_list print '===================================' # 获取图文信息列表 news_list = wechat.get_news_list(page=0, pagesize=15) print news_list print '===================================' # 获取与最新一条消息用户的对话内容 user_info_json = wechat.get_top_message() user_info = json.loads(user_info_json)