def register(self): try: warning("register confirm") resp = self.refresh_new_target( self.session.get( self.register_url, headers={ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", "Content-Type": "application/x-www-form-urlencoded", "Referer": self.register_url, }, ) ) token, creation_time = Parser.get_token_and_creation_time(resp) warning("start register") resp = self.session.post( self.register_url, data={ "agreed": "===好的,我已明白,请跳转到下一页继续注册====", "autim": self.autim, "change_lang": "", "creation_time": creation_time, "form_token": token, }, headers=self.make_reg_headers(resp), ) token, creation_time = Parser.get_token_and_creation_time(resp) confirm_code, confirm_id = Parser.get_captcha(self.get_pic, resp) self.create_random_author() data = { "username": self.usr, "new_password": self.pwd, "password_confirm": self.pwd, "email": "*****@*****.**", "lang": "zh_cmn_hans", "tz_date": "UTC+08:00 - Antarctica/Casey - " + moment.now().format("YYYY-MM-DD HH:mm"), "tz": "Asia/Hong_Kong", "agreed": "true", "change_lang": "0", "confirm_code": confirm_code, "confirm_id": [confirm_id, confirm_id], "creation_time": creation_time, "form_token": token, "submit": " 用户名与密码已填好, 点此提交 ", "autim": self.autim, } resp = self.session.post( self.register_url, data=data, headers=self.make_reg_headers(resp) ) assert "感谢注册" in resp.text success("register success") Cursor.create_new_user({"user": self.usr, "pwd": self.pwd}) except KeyboardInterrupt: exit() except AssertionError as e: error("register failed") error(self.clean_log(resp)) raise e
def __reg(self): try: warning("Reg Confirm") resp = self.__refresh_new_target( self.session.get( self.__reg_url, headers={ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US,en;q=0.5", "Cache-Control": "no-cache", "Connection": "keep-alive", "Content-Type": "application/x-www-form-urlencoded", "Pragma": "no-cache", "Referer": self.__reg_url, "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0", }, ) ) token, creation_time = Parser.get_token_and_creation_time(resp) warning("Start Reg") resp = self.session.post( self.__reg_url, data={ "agreed": "===好的,我已明白,请跳转到下一页继续注册====", "autim": self.__autim, "change_lang": "", "creation_time": creation_time, "form_token": token, }, headers=self.__make_reg_headers(resp), ) token, creation_time = Parser.get_token_and_creation_time(resp) qa_answer, qa_confirm_id = Parser.get_qa_answer_and_id(resp) self.__create_random_author() data = { "agreed": "true", "autim": self.__autim, "change_lang": "0", "creation_time": creation_time, "email": "*****@*****.**", "form_token": token, "lang": "zh_cmn_hans", "new_password": self.pwd, "password_confirm": self.pwd, "qa_answer": qa_answer, "qa_confirm_id": qa_confirm_id, "tz": "Asia/Hong_Kong", "tz_date": "UTC+08:00+-+Asia/Brunei+-+" + moment.now().format("DD+MM月+YYYY,+HH:mm"), "submit": " 用户名与密码已填好,+点此提交 ", "username": self.usr, } resp = self.session.post( self.__reg_url, data=data, headers=self.__make_reg_headers(resp) ) assert "感谢注册" in resp.text success("Reg success!") Cursor.create_new_user({"user": self.usr, "pwd": self.pwd}) except KeyboardInterrupt: exit() except AssertionError: error("Reg failed!") error(self.__clean_log(resp)) self.__save_error("__reg.html", resp)