From b2e11d6389ed23a8286c1c62e00635f07968139a Mon Sep 17 00:00:00 2001 From: Hansimov <591172499@qq.com> Date: Sun, 21 Jan 2024 19:24:11 +0800 Subject: [PATCH] :zap: [Enhance] Enable create with new cookie item KievRPSSecAuth --- apis/chat_api.py | 1 + networks/cookies_constructor.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apis/chat_api.py b/apis/chat_api.py index d7f2fcf..e64a1aa 100644 --- a/apis/chat_api.py +++ b/apis/chat_api.py @@ -145,6 +145,7 @@ def chat_completions(self, item: ChatCompletionsPostItem): sec_access_token=creator.sec_access_token, client_id=creator.client_id, conversation_id=creator.conversation_id, + cookies=creator.request_cookies, invocation_id=0, ) diff --git a/networks/cookies_constructor.py b/networks/cookies_constructor.py index 769b31d..b54ebb8 100644 --- a/networks/cookies_constructor.py +++ b/networks/cookies_constructor.py @@ -1,8 +1,10 @@ import json import requests +import random +import string + from datetime import datetime from pathlib import Path - from utils.logger import logger @@ -14,6 +16,10 @@ def __init__(self): self.secrets_path = Path(__file__).parents[1] / "secrets.json" self.created_datetime_format = "%Y-%m-%d %H:%M:%S" + def generate_kiev_rps_sec_auth(self): + kiev = "".join(random.choices(string.ascii_uppercase + string.digits, k=32)) + return kiev + def create_secrets_json(self): if not self.secrets_path.exists(): self.secrets_path.parent.mkdir(parents=True, exist_ok=True) @@ -54,6 +60,7 @@ def requests_cookies(self): requests_body = {"cookies": ""} try: + logger.note(f"Requesting Cookies from: {self.bypass_url}") res = requests.post( self.bypass_url, json=requests_body, @@ -61,7 +68,9 @@ def requests_cookies(self): ) data = res.json() cookies_str = data["result"]["cookies"] - cookies_snapshot = data["result"]["snapshot"] + cookies_screenshot = data["result"]["screenshot"] + kiev = self.generate_kiev_rps_sec_auth() + cookies_str = f"KievRPSSecAuth={kiev}; {cookies_str}" logger.note(f"Get Cookies: {cookies_str}") if cookies_str: with open(self.secrets_path, "r") as rf: @@ -71,7 +80,7 @@ def requests_cookies(self): "created_time": datetime.now().strftime( self.created_datetime_format ), - "snapshot": self.bypass_url + cookies_snapshot, + "screenshot": self.bypass_url + cookies_screenshot, } with open(self.secrets_path, "w") as wf: json.dump(secrets, wf)