diff --git a/ksdt820.py b/ksdt820.py deleted file mode 100644 index d096caa..0000000 --- a/ksdt820.py +++ /dev/null @@ -1,186 +0,0 @@ -import time -import requests -import random -import os -import json -import sys - -IP1 = "119.29.118.112:20238" -IP2 = "authentication.pearsons.live:35003" - - -def ger_env(key): - cookies = os.getenv(key) - if cookies: - cookies = cookies.split("&") - return cookies - else: - print("===获取环境变量失败===") - sys.stdout.flush() - -def printf(text): - print(f"[账号{i}]---{text}") - sys.stdout.flush() - - -class KS: - def __init__(self, cookie): - cookie_list = cookie.split("#") - self.cookie = cookie_list[0] - self.ua = cookie_list[1] - - def run(self): - roundId, index, question, options = self.get_question() - while roundId: - time.sleep(0.5) - answer_index = self.search(question, options) - time.sleep(random.randint(3, 5)) - roundId, index, question, options = self.reply(roundId, index, question, options, answer_index) - if index == 9: - break - - def get_question(self): - url = "https://encourage.kuaishou.com/rest/n/encourage/game/quiz/round/kickoff?reKickoff=false&sigCatVer=1" - header = { - "Host": "encourage.kuaishou.com", - "User-Agent": self.ua, - "X-Requested-With": "com.kuaishou.nebula", - "Sec-Fetch-Site": "same-origin", - "Sec-Fetch-Dest": "empty", - "Cookie": self.cookie, - "content-type": "application/x-www-form-urlencoded;charset=UTF-8" - } - try: - response = requests.get(url=url, headers=header) - if response.json().get("result") == 1 and response.json().get("data").get("roundId"): - roundId = response.json().get("data").get("roundId") - questionDetail = response.json().get("data").get("questionDetail") - index = questionDetail.get("index") - question = questionDetail.get("question") - options = questionDetail.get("options") - current_amount = response.json().get("data").get("amount").get("current") - printf(f"当前金币{current_amount}") - sys.stdout.flush() - printf(f"开始答题:{question}") - sys.stdout.flush() - printf(f"选项:{options}") - sys.stdout.flush() - return roundId, index, question, options - - elif response.json().get("result") == 103703: - printf("今日题目已答完") - sys.stdout.flush() - return None, None, None, None - except: - print("未知错误") - sys.stdout.flush() - return None, None, None, None - - def search(self, question, options): - try: - printf("开始数据库查找答案") - sys.stdout.flush() - url1 = f"http://{IP1}/search?question={question}" - url2 = f"http://{IP2}/search?question={question}" - response1 = requests.get(url=url1) - if response1.json().get("status") == "200": - printf("找到答案了") - sys.stdout.flush() - answer = response1.json().get("content") - answer_index = options.index(answer) - return answer_index - else: - response2 = requests.get(url=url2) - if response2.json().get("status") == "200": - printf("找到答案啦") - sys.stdout.flush() - answer = response2.json().get("content") - answer_index = options.index(answer) - self.upload(IP1, question, answer) - return answer_index - else: - printf("没有找到答案,随便选一个吧") - sys.stdout.flush() - return 4 - except: - return 4 - - def reply(self, roundId, index, question, options, answer_index): - url = "https://encourage.kuaishou.com/rest/n/encourage/game/quiz/round/answer/upload?sigCatVer=1" - header = { - "Host": "encourage.kuaishou.com", - "User-Agent": self.ua, - "Accept": "*/*", - "Origin": "https://encourage.kuaishou.com", - "X-Requested-With": "com.kuaishou.nebula", - "Sec-Fetch-Site": "same-origin", - "Sec-Fetch-Mode": "cors", - "Sec-Fetch-Dest": "empty", - "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "Cookie": self.cookie, - "content-type": "application/json" - } - payload = { - "roundId": roundId, - "index": index, - "answer": answer_index - } - if answer_index == 4: - payload = { - "roundId": roundId, - "index": index, - "answer": random.randint(0, 3) - } - payload = json.dumps(payload) - response = requests.post(url=url, headers=header, data=payload) - if answer_index == 4: - question = question - correctAnswerIndex = response.json().get("data").get("answerDetail").get("correctAnswerIndex") - correct_answer = options[correctAnswerIndex] - self.upload(IP1, question, correct_answer) - time.sleep(0.5) - if response.json().get("data").get("answerDetail").get("correct") and response.json().get("result") == 1: - amount = response.json().get("data").get("amount").get("reward") - current_amount = response.json().get("data").get("amount").get("current") - printf(f"第[{int(index) + 1}]题回答正确,获得金币{amount}") - sys.stdout.flush() - printf(f"当前金币{current_amount}") - sys.stdout.flush() - questionDetail = response.json().get("data").get("nextQuestionDetail").get("questionDetail") - index = questionDetail.get("index") - roundId = response.json().get("data").get("nextQuestionDetail").get("roundId") - question = questionDetail.get("question") - options = questionDetail.get("options") - printf(f"开始答题:{question}") - sys.stdout.flush() - printf(f"选项:{options}") - sys.stdout.flush() - return roundId, index, question, options - else: - printf(f"第[{int(index) + 1}]题回答错误") - sys.stdout.flush() - return None, None, None, None - - def upload(self, ip, question, answer): - try: - printf("开始上传题目和答案") - sys.stdout.flush() - url = f"http://{ip}/upload" - payload = { - "question": question, - "answer": answer - } - response = requests.post(url=url, data=payload) - if response.json().get("status") == 200: - printf("上传成功") - sys.stdout.flush() - except: - pass - - -if __name__ == "__main__": - cookies = ger_env("ksdt") - i = 0 - for cookie in cookies: - i += 1 - KS(cookie).run() \ No newline at end of file