5
This commit is contained in:
@@ -216,7 +216,18 @@ class ChatGPTAPIRegister:
|
||||
log_progress(f"[X] 创建账户失败: {resp.status_code} - {resp.text[:200]}")
|
||||
return False
|
||||
|
||||
# 检查响应是否为空
|
||||
resp_text = resp.text.strip()
|
||||
if not resp_text:
|
||||
log_progress("[X] 创建账户失败: 服务器返回空响应")
|
||||
return False
|
||||
|
||||
try:
|
||||
data = resp.json()
|
||||
except Exception as json_err:
|
||||
log_progress(f"[X] 创建账户失败: JSON 解析错误 - {json_err}")
|
||||
return False
|
||||
|
||||
continue_url = data.get("continue_url")
|
||||
if continue_url:
|
||||
request_with_retry(self.session.get, continue_url, allow_redirects=True)
|
||||
@@ -374,6 +385,10 @@ def get_verification_code_api(target_email: str, mail_api_base: str, mail_api_to
|
||||
code_match = re.search(r'\b(\d{6})\b', html_body)
|
||||
if code_match:
|
||||
code = code_match.group(1)
|
||||
# 如果是已知的无效验证码,跳过继续等待新的
|
||||
if code == "783500":
|
||||
log_status("跳过", f"[!] 检测到旧验证码 {code},继续等待新验证码...")
|
||||
continue
|
||||
log_status("捕获", f"[OK] 提取到验证码: {code}")
|
||||
return code
|
||||
except Exception:
|
||||
@@ -684,9 +699,38 @@ def api_register_account_only(
|
||||
log_cb("[OK] OTP 验证成功")
|
||||
|
||||
log_status("API注册", "创建账户...")
|
||||
if not reg.create_account(real_name, birthdate):
|
||||
log_cb("[X] 创建账户失败")
|
||||
create_success = reg.create_account(real_name, birthdate)
|
||||
|
||||
# 如果创建失败,重新获取验证码再试一次
|
||||
if not create_success:
|
||||
log_cb("[!] 创建账户失败,尝试重新验证...")
|
||||
|
||||
# 重新发送验证邮件
|
||||
log_status("API注册", "重新发送验证邮件...")
|
||||
if not reg.send_verification_email():
|
||||
log_cb("[X] 重新发送验证邮件失败")
|
||||
return False
|
||||
log_cb("[OK] 验证邮件已重新发送")
|
||||
|
||||
# 重新获取验证码
|
||||
time.sleep(2) # 等待新邮件
|
||||
otp_code = get_verification_code_func(email)
|
||||
if not otp_code:
|
||||
log_cb("[X] 未能获取新验证码")
|
||||
return False
|
||||
|
||||
log_status("API注册", f"重新验证 OTP: {otp_code}")
|
||||
if not reg.validate_otp(otp_code):
|
||||
log_cb("[X] OTP 重新验证失败")
|
||||
return False
|
||||
log_cb("[OK] OTP 重新验证成功")
|
||||
|
||||
# 再次尝试创建账户
|
||||
log_status("API注册", "重新创建账户...")
|
||||
if not reg.create_account(real_name, birthdate):
|
||||
log_cb("[X] 创建账户仍然失败")
|
||||
return False
|
||||
|
||||
log_cb("[OK] 账户创建成功")
|
||||
|
||||
# 验证 session 是否有效
|
||||
|
||||
Reference in New Issue
Block a user