import requests
import hashlib
import logging
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}登录成功")
#通过浏览器获取cookie的key
self._cookie = { 'xxxxxxx': ''.join(response.cookies.values()) }
else:
logging.error(f"用户{self.user}或密码错误")
return self._cookie
Python request封装cookie
发布时间 2023-04-14 16:01:07作者: 慕容峻才