first commit
This commit is contained in:
103
member_check.py
Normal file
103
member_check.py
Normal file
@@ -0,0 +1,103 @@
|
||||
import requests
|
||||
import json
|
||||
from logger import logging
|
||||
import urllib3
|
||||
|
||||
# 禁用 SSL 警告
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
class MemberChecker:
|
||||
def __init__(self):
|
||||
self.api_url = "https://cursorapi.nosqli.com/admin/api.member/check"
|
||||
self.session = requests.Session()
|
||||
# 设置会话级别的代理和验证选项
|
||||
self.session.verify = False
|
||||
|
||||
def check_member(self, keyword):
|
||||
"""
|
||||
检查会员状态
|
||||
|
||||
Args:
|
||||
keyword: 邮箱或订单号
|
||||
|
||||
Returns:
|
||||
dict: 包含验证结果的字典,格式如下:
|
||||
{
|
||||
'is_valid': bool, # 是否是有效会员
|
||||
'msg': str, # 提示消息
|
||||
'expire_time': str, # 到期时间
|
||||
'usage_limit': int, # 使用限制
|
||||
'used_count': int, # 已使用次数
|
||||
'email': str, # 会员邮箱
|
||||
'order_id': str # 订单号
|
||||
}
|
||||
"""
|
||||
try:
|
||||
response = self.session.post(
|
||||
self.api_url,
|
||||
json={'keyword': keyword},
|
||||
proxies={"http": None, "https": None} # 在请求时设置代理
|
||||
)
|
||||
|
||||
data = response.json()
|
||||
|
||||
if data['code'] != 0:
|
||||
return {
|
||||
'is_valid': False,
|
||||
'msg': data.get('msg', '验证失败'),
|
||||
'expire_time': None,
|
||||
'usage_limit': None,
|
||||
'used_count': None,
|
||||
'email': None,
|
||||
'order_id': None
|
||||
}
|
||||
|
||||
member_data = data['data']
|
||||
return {
|
||||
'is_valid': True,
|
||||
'msg': data.get('msg', '验证通过'),
|
||||
'expire_time': member_data.get('expire_time'),
|
||||
'usage_limit': member_data.get('usage_limit'),
|
||||
'used_count': member_data.get('used_count'),
|
||||
'email': member_data.get('email'),
|
||||
'order_id': member_data.get('order_id')
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"会员验证失败: {str(e)}")
|
||||
return {
|
||||
'is_valid': False,
|
||||
'msg': f"验证过程出错: {str(e)}",
|
||||
'expire_time': None,
|
||||
'usage_limit': None,
|
||||
'used_count': None,
|
||||
'email': None,
|
||||
'order_id': None
|
||||
}
|
||||
|
||||
def print_member_info(self, member_info):
|
||||
"""打印会员信息"""
|
||||
if member_info['is_valid']:
|
||||
logging.info("\n=== 会员信息 ===")
|
||||
logging.info(f"邮箱: {member_info['email']}")
|
||||
logging.info(f"订单号: {member_info['order_id']}")
|
||||
logging.info(f"到期时间: {member_info['expire_time']}")
|
||||
logging.info(f"使用限制: {member_info['usage_limit']}")
|
||||
logging.info(f"已使用次数: {member_info['used_count']}")
|
||||
else:
|
||||
logging.error(f"会员验证失败: {member_info['msg']}")
|
||||
|
||||
|
||||
# 测试代码
|
||||
if __name__ == "__main__":
|
||||
checker = MemberChecker()
|
||||
|
||||
# 测试有效会员
|
||||
print("\n测试有效会员:")
|
||||
result = checker.check_member("12132ed@qq.com")
|
||||
checker.print_member_info(result)
|
||||
|
||||
# 测试无效会员
|
||||
print("\n测试无效会员:")
|
||||
result = checker.check_member("invalid@example.com")
|
||||
checker.print_member_info(result)
|
||||
Reference in New Issue
Block a user