返回提交历史
Modified
g4f/Provider/Liaobots.py
+10
-4
XFEstudio/gpt4free
Fix Liabots session
6c2f3c64
代码差异
1 个文件
+10
-4
@@ -78,6 +78,7 @@ class Liaobots(AsyncGeneratorProvider):
78
78
supports_gpt_35_turbo = True
79
79
supports_gpt_4 = True
80
80
_auth_code = None
81
_cookie_jar = None
81
82
82
83
@classmethod
83
84
async def create_async_generator(
@@ -97,7 +98,8 @@ class Liaobots(AsyncGeneratorProvider):
97
98
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
98
99
}
99
100
async with ClientSession(
100
headers=headers
101
headers=headers,
102
cookie_jar=cls._cookie_jar
101
103
) as session:
102
104
cls._auth_code = auth if isinstance(auth, str) else cls._auth_code
103
105
if not cls._auth_code:
@@ -116,6 +118,8 @@ class Liaobots(AsyncGeneratorProvider):
116
118
) as response:
117
119
response.raise_for_status()
118
120
cls._auth_code = (await response.json(content_type=None))["authCode"]
121
cls._cookie_jar = session.cookie_jar
122
119
123
data = {
120
124
"conversationId": str(uuid.uuid4()),
121
125
"model": models[model],
@@ -131,6 +135,8 @@ class Liaobots(AsyncGeneratorProvider):
131
135
verify_ssl=False
132
136
) as response:
133
137
response.raise_for_status()
134
async for stream in response.content.iter_any():
135
if stream:
136
yield stream.decode()
138
async for chunk in response.content.iter_any():
139
if b"<html coupert-item=" in chunk:
140
raise RuntimeError("Invalid session")
141
if chunk:
142
yield chunk.decode()