diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2023-09-22 21:40:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-22 21:40:59 +0200 |
commit | ba287e89b55118965ff0e151e54636b1f50d3b38 (patch) | |
tree | dc69218fecae4971c90ae391ff6919c032b93540 /g4f/Provider/Bard.py | |
parent | ~ | gpt-3.5-turbo-0613 (diff) | |
parent | Add RetryProvider (diff) | |
download | gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar.gz gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar.bz2 gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar.lz gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar.xz gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.tar.zst gpt4free-ba287e89b55118965ff0e151e54636b1f50d3b38.zip |
Diffstat (limited to 'g4f/Provider/Bard.py')
-rw-r--r-- | g4f/Provider/Bard.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/g4f/Provider/Bard.py b/g4f/Provider/Bard.py index 2137d820..4e076378 100644 --- a/g4f/Provider/Bard.py +++ b/g4f/Provider/Bard.py @@ -13,6 +13,7 @@ class Bard(AsyncProvider): url = "https://bard.google.com" needs_auth = True working = True + _snlm0e = None @classmethod async def create_async( @@ -31,7 +32,6 @@ class Bard(AsyncProvider): headers = { 'authority': 'bard.google.com', - 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8', 'origin': 'https://bard.google.com', 'referer': 'https://bard.google.com/', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', @@ -42,13 +42,14 @@ class Bard(AsyncProvider): cookies=cookies, headers=headers ) as session: - async with session.get(cls.url, proxy=proxy) as response: - text = await response.text() + if not cls._snlm0e: + async with session.get(cls.url, proxy=proxy) as response: + text = await response.text() - match = re.search(r'SNlM0e\":\"(.*?)\"', text) - if not match: - raise RuntimeError("No snlm0e value.") - snlm0e = match.group(1) + match = re.search(r'SNlM0e\":\"(.*?)\"', text) + if not match: + raise RuntimeError("No snlm0e value.") + cls._snlm0e = match.group(1) params = { 'bl': 'boq_assistant-bard-web-server_20230326.21_p0', @@ -57,7 +58,7 @@ class Bard(AsyncProvider): } data = { - 'at': snlm0e, + 'at': cls._snlm0e, 'f.req': json.dumps([None, json.dumps([[prompt]])]) } |