def create_new_user(datas): return DarkNet_User.create(**datas)
def Reg(self): self.warn("Start Regging") 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": "zh-CN,zh;q=0.9,en;q=0.8", "Cache-Control": "no-cache", "Connection": "keep-alive", "Content-Type": "application/x-www-form-urlencoded", "Origin": f"http://{self.domain}", "Pragma": "no-cache", "Referer": f"http://{self.domain}/ucp.php?mode=register&sid={self.sid}", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36", } step1resp = self.session.get( f"http://{self.domain}/ucp.php?mode=register").text step1 = jq(step1resp) self.info(f'RegPage Confirmed. {"sid" in step1resp}') token = step1('input[name="form_token"]').attr("value") self.report(f"Got Token: {token}") creation_time = step1('input[name="creation_time"]').attr("value") self.report(f"Got Create_time: {creation_time}") url = f"http://{self.domain}/ucp.php?mode=register" step2resp = self.session.post( url, data={ "agreed": "===好的,我已明白,请跳转到下一页继续注册====", "change_lang": "", "creation_time": creation_time, "form_token": token, }, headers=headers, ) self.SaveError("step2.html", step2resp) step2 = jq(step2resp.text) token = step2('input[name="form_token"]').attr("value") creation_time = step2('input[name="creation_time"]').attr("value") qa_answer = re.findall("请在右边框中输入: (.*?):</label>", step2resp.text)[0] self.report(f"Got answer: {qa_answer}") qa_confirm_id = step2("#qa_confirm_id").attr("value") self.usr = self.RandomKey(12) self.pwd = self.RandomKey() self.info(f"set Usr: {self.usr} ,Pwd: {self.pwd}") data = { "username": self.usr, "new_password": self.pwd, "password_confirm": self.pwd, "email": "*****@*****.**", "lang": "zh_cmn_hans", "tz_date": "UTC+08:00+-+Asia/Brunei+-+" + moment.now().format("DD+MM月+YYYY,+HH:mm"), "tz": "Asia/Hong_Kong", "agreed": "true", "change_lang": "0", "qa_answer": qa_answer, "qa_confirm_id": qa_confirm_id, "submit": " 用户名与密码已填好,+点此提交 ", "creation_time": creation_time, "form_token": token, } resp = self.session.post(url, data=data, headers=headers) try: assert "感谢注册" in resp.text self.report("Reg success!") DarkNet_User.create(**{"user": self.usr, "pwd": self.pwd}) except AssertionError: self.error(jq(resp.text).text()) self.SaveError("reg.html", resp)