示例#1
0
 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
示例#2
0
    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)