def __init__(self, qid, event_queue): self.logger = get_logger() self.qid = qid self.aid = 1003903 self.clientid = random.randrange(11111111, 99999999) self.msg_id = random.randrange(1111111, 99999999) self.group_map = {} # 群映射 self.group_m_map = {} # 群到群成员的映射 self.uin_qid_map = {} # uin 到 qq号的映射 self.check_code = None self.skey = None self.ptwebqq = None self.require_check = False self.QUIT = False self.last_msg = {} self.event_queue = event_queue self.check_data = None # CheckHanlder返回的数据 self.blogin_data = None # 登录前返回的数据 self.rc = 1 self.start_time = time.time() self.hb_last_time = self.start_time self.poll_last_time = self.start_time self._helper = HttpHelper() self.connected = False self.polled = False self.heartbeated = False self.group_lst_updated = False
def get_group_msg_img(self, uin, info): """ 获取消息中的图片 """ name = info.get("name") file_id = info.get("file_id") key = info.get("key") server = info.get("server") ip, port = server.split(":") gid = self.group_map.get(uin, {}).get("gid") url = "http://web2.qq.com/cgi-bin/get_group_pic" params = [("type", 0), ("gid", gid), ("uin", uin), ("rip", ip), ("rport", port), ("fid", file_id), ("pic", name), ("vfwebqq", self.vfwebqq), ("t", time.time())] helper = HttpHelper(url, params) helper.add_header("Referer", "http://web2.qq.com/") return helper.open()
def get_check_img(self, vcode): """ 获取验证图片 """ url = "https://ssl.captcha.qq.com/getimage" params = [("aid", self.aid), ("r", random.random()), ("uin", self.qid)] helper = HttpHelper(url, params, jar=http_sock.cookiejar) res = helper.open() path = tempfile.mktemp() fp = open(path, 'wb') fp.write(res.read()) fp.close() res = upload_file("check.jpg", path) print res.geturl() check_code = None while not check_code: check_code = raw_input("打开上面连接输出图片上的验证码: ") return check_code.strip()