Tuchuanhuhuhu commited on
Commit
d1c8d88
1 Parent(s): 519f524

加入更多ipapi错误处理

Browse files
Files changed (1) hide show
  1. utils.py +8 -2
utils.py CHANGED
@@ -338,13 +338,19 @@ def replace_today(prompt):
338
 
339
  def get_geoip():
340
  response = requests.get('https://ipapi.co/json/', timeout=5)
341
- data = response.json()
 
 
 
 
 
 
342
  if "error" in data.keys():
343
  logging.warning(f"无法获取IP地址信息。\n{data}")
344
  if data['reason'] == "RateLimited":
345
  return f"获取IP地理位置失败,因为达到了检测IP的速率限制。聊天功能可能仍然可用,但请注意,如果您的IP地址在不受支持的地区,您可能会遇到问题。"
346
  else:
347
- return f"获取IP地理位置失败。原因:{data['reason']}"
348
  else:
349
  country = data['country_name']
350
  if country == "China":
 
338
 
339
  def get_geoip():
340
  response = requests.get('https://ipapi.co/json/', timeout=5)
341
+ try:
342
+ data = response.json()
343
+ except:
344
+ data = {
345
+ "error": True,
346
+ "reason" : "连接ipapi失败"
347
+ }
348
  if "error" in data.keys():
349
  logging.warning(f"无法获取IP地址信息。\n{data}")
350
  if data['reason'] == "RateLimited":
351
  return f"获取IP地理位置失败,因为达到了检测IP的速率限制。聊天功能可能仍然可用,但请注意,如果您的IP地址在不受支持的地区,您可能会遇到问题。"
352
  else:
353
+ return f"获取IP地理位置失败。原因:{data['reason']}。你仍然可以使用聊天功能。"
354
  else:
355
  country = data['country_name']
356
  if country == "China":