import requests import hashlib import logging import math import re from bs4 import BeautifulSoup
logging.basicConfig(level=logging.DEBUG,format="%(asctime)s %(levelname)s %(message)s") class API: def __init__(self, host, username, password): self.user = username self.host = host self.data = { 'username': username, 'password': self.generatePassword(password) } self.url = f'http://{host}' self.login_url = f'http://{host}/login/' self._session = requests.Session() self._cookie = None
if not self._cookie: self.login()
if self._cookie: self._session.cookies.update(self._cookie)
def generatePassword(self,password): md5 = hashlib.md5() md5.update(password.encode('utf-8')) return md5.hexdigest()
def login(self): response = requests.post(url=self.login_url, data=self.data) if response.status_code == 200: logging.debug(f"用户{self.user}登录成功") self._cookie = { 'Cookie': ''.join(response.cookies.values()) } else: logging.error(f"用户{self.user}或密码错误")
return self._cookie
|