2021-05-23 21:24:20 +08:00
|
|
|
|
import config
|
|
|
|
|
|
import setting
|
2022-04-24 13:06:26 +08:00
|
|
|
|
from request import http
|
2022-01-06 13:49:25 +08:00
|
|
|
|
from loghelper import log
|
|
|
|
|
|
from error import CookieError
|
2021-05-23 21:24:20 +08:00
|
|
|
|
|
2021-10-25 22:53:34 +08:00
|
|
|
|
|
2021-05-23 21:24:20 +08:00
|
|
|
|
def login():
|
2022-04-28 13:50:25 +08:00
|
|
|
|
if config.config["account"]["cookie"] == '':
|
2021-05-23 21:24:20 +08:00
|
|
|
|
log.error("请填入Cookies!")
|
2022-01-06 13:49:25 +08:00
|
|
|
|
config.clear_cookies()
|
|
|
|
|
|
raise CookieError('No cookie')
|
2021-10-25 22:53:34 +08:00
|
|
|
|
# 判断Cookie里面是否有login_ticket 没有的话直接退了
|
2022-04-28 13:50:25 +08:00
|
|
|
|
if "login_ticket" in config.config["account"]["cookie"]:
|
|
|
|
|
|
temp_cookies = config.config["account"]["cookie"].split(";")
|
2022-04-24 13:06:26 +08:00
|
|
|
|
for i in temp_cookies:
|
2021-06-06 21:19:28 +08:00
|
|
|
|
if i.split("=")[0] == " login_ticket":
|
2022-04-28 13:50:25 +08:00
|
|
|
|
config.config["account"]["login_ticket"] = i.split("=")[1]
|
2021-05-23 21:24:20 +08:00
|
|
|
|
break
|
2021-10-25 22:53:34 +08:00
|
|
|
|
# 这里获取Stuid,但是实际是可以直接拿cookie里面的Uid
|
2022-10-12 22:12:30 +08:00
|
|
|
|
data = http.get(url=setting.bbs_cookie_url.format(config.config["account"]["login_ticket"])).json()
|
2021-06-06 21:19:28 +08:00
|
|
|
|
if "成功" in data["data"]["msg"]:
|
2022-04-28 13:50:25 +08:00
|
|
|
|
config.config["account"]["stuid"] = str(data["data"]["cookie_info"]["account_id"])
|
2022-10-12 22:12:30 +08:00
|
|
|
|
data = http.get(url=setting.bbs_cookie_url2.format(
|
2022-04-28 13:50:25 +08:00
|
|
|
|
config.config["account"]["login_ticket"], config.config["account"]["stuid"])).json()
|
|
|
|
|
|
config.config["account"]["stoken"] = data["data"]["list"][0]["token"]
|
2021-05-23 21:24:20 +08:00
|
|
|
|
log.info("登录成功!")
|
|
|
|
|
|
log.info("正在保存Config!")
|
2022-01-06 13:49:25 +08:00
|
|
|
|
config.save_config()
|
2021-05-23 21:24:20 +08:00
|
|
|
|
else:
|
|
|
|
|
|
log.error("cookie已失效,请重新登录米游社抓取cookie")
|
2022-01-06 13:49:25 +08:00
|
|
|
|
config.clear_cookies()
|
|
|
|
|
|
raise CookieError('Cookie expires')
|
2021-05-23 21:24:20 +08:00
|
|
|
|
else:
|
|
|
|
|
|
log.error("cookie中没有'login_ticket'字段,请重新登录米游社,重新抓取cookie!")
|
2022-01-06 13:49:25 +08:00
|
|
|
|
config.clear_cookies()
|
|
|
|
|
|
raise CookieError('Cookie lost login_ticket')
|