def LoginWithPwd(): username = ConfigLoader().dic_bilibili['account']['username'] password = ConfigLoader().dic_bilibili['account']['password'] response = bilibili.request_getkey() value = response.json()['data'] key = value['key'] Hash = str(value['hash']) username, password = calc_name_passw(key, Hash, username, password) captcha = None response = bilibili.normal_login(username, password, captcha) while response.json()['code'] == -105: captcha = bilibili.get_captcha(username, password) response = bilibili.normal_login(username, password, captcha) json_rsp = response.json() # print(json_rsp) if not json_rsp['code'] and not json_rsp['data']['status']: data = json_rsp['data'] access_key = data['token_info']['access_token'] refresh_token = data['token_info']['refresh_token'] cookie = data['cookie_info']['cookies'] generator_cookie = (f'{i["name"]}={i["value"]}' for i in cookie) cookie_format = ';'.join(generator_cookie) dic_saved_session = { 'csrf': cookie[0]['value'], 'access_key': access_key, 'refresh_token': refresh_token, 'cookie': cookie_format, 'uid': cookie[1]['value'] } # print(dic_saved_session) bilibili.load_session(dic_saved_session) if ConfigLoader().dic_user['other_control']['keep-login']: ConfigLoader().write2bilibili(dic_saved_session) printer.info(['登陆成功'], True) return True else: printer.info([f'登录失败,错误信息为:{json_rsp}'], True) return False
def LoginWithPwd(): username = ConfigLoader().dic_bilibili['account']['username'] password = ConfigLoader().dic_bilibili['account']['password'] response = bilibili.request_getkey() value = response.json()['data'] key = value['key'] Hash = str(value['hash']) username, password = calc_name_passw(key, Hash, username, password) captcha = None response = bilibili.normal_login(username, password, captcha) # while response.json()['code'] == -105: # captcha = bilibili.get_captcha(username, password) # response = bilibili.normal_login(username, password, captcha) json_rsp = response.json() print(json_rsp) try: data = json_rsp['data'] access_key = data['token_info']['access_token'] refresh_token = data['token_info']['refresh_token'] cookie_info = bilibili.access_token_2_cookies(access_key) print(cookie_info) generator_cookie = (f'{i[0]}={i[1]}' for i in cookie_info.items()) cookie_format = ';'.join(generator_cookie) dic_saved_session = { 'csrf': cookie_info['bili_jct'], 'access_key': access_key, 'refresh_token': refresh_token, 'cookie': cookie_format, 'uid': cookie_info['DedeUserID'] } # print(dic_saved_session) bilibili.load_session(dic_saved_session) if ConfigLoader().dic_user['other_control']['keep-login']: ConfigLoader().write2bilibili(dic_saved_session) printer.info(['登陆成功'], True) return True except: print(sys.exc_info()[0], sys.exc_info()[1]) printer.info([f'登录失败,错误信息为:{json_rsp}'], True) return False
def LoginWithPwd(): username = ConfigLoader().dic_bilibili['account']['username'] password = ConfigLoader().dic_bilibili['account']['password'] response = bilibili.request_getkey() value = response.json()['data'] key = value['key'] Hash = str(value['hash']) username, password = calc_name_passw(key, Hash, username, password) response = bilibili.normal_login(username, password) while response.json()['code'] == -105: response = bilibili.login_with_captcha(username, password) try: # print(response.json()) data = response.json()['data'] access_key = data['token_info']['access_token'] refresh_token = data['token_info']['refresh_token'] cookie = data['cookie_info']['cookies'] generator_cookie = (f'{i["name"]}={i["value"]}' for i in cookie) cookie_format = ';'.join(generator_cookie) dic_saved_session = { 'csrf': cookie[0]['value'], 'access_key': access_key, 'refresh_token': refresh_token, 'cookie': cookie_format, 'uid': cookie[1]['value'] } # print(dic_saved_session) bilibili.load_session(dic_saved_session) if ConfigLoader().dic_user['other_control']['keep-login']: ConfigLoader().write2bilibili(dic_saved_session) print("[{}] {}".format( time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), '密码登陆成功')) return True except: print("[{}] 登录失败,错误信息为:{}".format( time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), response.json()['message'])) return False