diff options
Diffstat (limited to 'g4f/Provider/Chatgpt4Online.py')
-rw-r--r-- | g4f/Provider/Chatgpt4Online.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/g4f/Provider/Chatgpt4Online.py b/g4f/Provider/Chatgpt4Online.py index d55be65b..f62ef8af 100644 --- a/g4f/Provider/Chatgpt4Online.py +++ b/g4f/Provider/Chatgpt4Online.py @@ -13,7 +13,12 @@ class Chatgpt4Online(AsyncGeneratorProvider): api_endpoint = "/wp-json/mwai-ui/v1/chats/submit" working = True supports_gpt_4 = True - + + async def get_nonce(): + async with ClientSession() as session: + async with session.post(f"https://chatgpt4online.org/wp-json/mwai/v1/start_session") as response: + return (await response.json())["restNonce"] + @classmethod async def create_async_generator( cls, @@ -37,7 +42,7 @@ class Chatgpt4Online(AsyncGeneratorProvider): "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36", - "x-wp-nonce": "d9505e9877", + "x-wp-nonce": await cls.get_nonce(), } async with ClientSession(headers=headers) as session: @@ -69,3 +74,4 @@ class Chatgpt4Online(AsyncGeneratorProvider): continue yield full_response + |