user_api.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import requests
  2. from logger_config import logger
  3. import os
  4. import dotenv
  5. dotenv.load_dotenv()
  6. class UserCollector:
  7. def __init__(self):
  8. self.base_url = os.getenv('USER_URL', '')
  9. token = os.getenv('JWT_TOKEN', '')
  10. self.headers = {
  11. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36',
  12. 'JWT-TOKEN': f'{token}'
  13. }
  14. def get_user_info(self):
  15. """访问用户API并获取返回值"""
  16. try:
  17. response = requests.get(self.base_url, headers=self.headers)
  18. response.raise_for_status() # 检查请求是否成功
  19. data = response.json()
  20. if data.get('code') == 200:
  21. user_names = [user.get('UserName', 'N/A') for user in data.get('data', {}).get('list', [])]
  22. logger.info(f"获取用户信息成功, 共计{len(user_names)}条")
  23. return user_names
  24. else:
  25. logger.Error(f"获取用户信息失败, 状态码:{data.get('code')}")
  26. return []
  27. except requests.exceptions.RequestException as e:
  28. logger.error(f"获取用户发生错误: {e}")
  29. return []
  30. if __name__ == "__main__":
  31. user_collector = UserCollector()
  32. user_info = user_collector.get_user_info()
  33. pass