request模块封装API

基于Session认证


基于Cookie认证

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
文章作者: 慕容峻才
文章链接: https://www.acaiblog.top/request模块封装API/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿才的博客
微信打赏
支付宝打赏