import re
|
from .base_request import my_Request
|
from utils.log_utils import LogUtils
|
from config.config import Config
|
|
|
def login() -> bool:
|
"""金山扬尘在线监测网站登录"""
|
|
_config = Config()
|
account, password, cookies = _config.get_login_info()
|
if not cookies == None:
|
my_Request.set_cookie(cookies)
|
_config.update_cookie(cookies)
|
LogUtils.info(f'使用了缓存的cookie:{cookies}')
|
return True
|
|
# 请求原始登陆页面
|
# 获取token
|
# 获取跳转的url
|
# 正则表达式提取token 和url
|
payload = {'a': 'ZHp6d3B0', 'allParams': 'cC+QXA6lzRK6JXTjS+yCpCXg2UJDTgNW9viPDZ0O0tQMarNhIeFaCk8Jbsicxv7ZKLlX3J80r8ewAT12zsRsk0e3XdHIiSRrJG5bDrQtqQ8T+bazgbxAdeC3jEQDG3k5pFyPUONlyEh1OU2kwKHI8V7mp7RfZpz1DeYDoAtVFcX7bh3fzQs2wEKLjeggMj7fahAX4U3s9JfNl2DQCSGQX4q7iyKnDhf4ok8u8yuv8q3XkvP3k1/vqpZRmQ1v16/KAsKPgDXtrbBq9q8yjNaMOC2Jz1FxBundI7Sip/6J6bOUNHikbGGueW+V5Q9462Dt30IYmjVXupSnK0FfUqxuV3JcZgP6ZPTs'}
|
url_login = my_Request.login_url + '/portal/login.jsp'
|
res = my_Request.post(url_login, payload)
|
if res == False:
|
return False
|
res2 = res.content.decode('utf-8', errors='ignore')
|
|
token = re.findall('name="allParams" value="(.*?)"/>', res2)[0]
|
url_jump = re.findall('action="..(.*?)"', res2)[0]
|
|
# 请求跳转的url
|
# 构造跳转的url
|
# 构造表单
|
# 发生请求
|
url = my_Request.login_url + url_jump
|
payload = {
|
"allParams": token,
|
"a": "ZHp6d3B0",
|
"needLogin": "true",
|
"user.account": account,
|
"user.password": password,
|
"timestamp": ''
|
}
|
res3 = my_Request.post(url, payload)
|
|
if res3 == False:
|
# LogUtils.error(f'登陆失败!')
|
return False
|
else:
|
ck = my_Request.get_session().cookies
|
c = dict(ck)
|
s = ""
|
for k in c.keys():
|
s += f"{k}={c[k]};"
|
s = s[:-1]
|
_config.update_cookie(s)
|
LogUtils.info(f'获取到Cookie:{s}')
|
return True
|