Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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()
Ejemplo n.º 3
0
 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()