44 lines
2.3 KiB
Python
44 lines
2.3 KiB
Python
import requests
|
|
import time
|
|
|
|
|
|
|
|
|
|
def login_quark(token):
|
|
"""
|
|
夸克登录
|
|
:param token: 登录token
|
|
:return: 是否登录成功
|
|
"""
|
|
s = requests.Session()
|
|
s.headers = {
|
|
'Accept': 'application/json, text/plain, */*',
|
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
'Origin': 'https://b.quark.cn',
|
|
'Referer': 'https://b.quark.cn/',
|
|
'User-Agent': 'Mozilla/5.0 (Linux; U; Android 15; zh-CN; 2312DRA50C Build/AQ3A.240912.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.80 Quark/7.9.2.771 Mobile Safari/537.36',
|
|
'X-Requested-With': 'com.quark.browser',
|
|
'sec-ch-ua': '"Android WebView";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
|
|
'sec-ch-ua-mobile': '?1',
|
|
'sec-ch-ua-platform': '"Android"'
|
|
}
|
|
sign_wg = "AAQHaE4ww2nnIPvofH2SfMv3N6OplcPRjxlgScTZozm/ZCMfQP74bsMLyKW883hZCGY=";
|
|
kps_wg = "AARWcp9UM71t5VzV9i5pBJ4dLXjJ7EZL5a9qz2QVVQtkkmcqS4wQGYtk38CRzW6HH4+5c7qsB9/EtUgkWcd8x/k7h9+PmAHUDvxKHUWnX7iL3h2fH86XJ4cEqwvUnQ77QGs=";
|
|
vcode = int(time.time() * 1000) # 相当于JavaScript中的Date.now(),返回当前时间的毫秒数
|
|
request_id = vcode + 5
|
|
is_login = False
|
|
url = 'https://uop.quark.cn/cas/ajax/loginWithKpsAndQrcodeToken'
|
|
queryParams = 'uc_param_str=dsdnfrpfbivesscpgimibtbmnijblauputogpintnwktprchmt&ds=AANx101uRUMl2l2Ot6hnNFQe%2F%2B%2Fmm2JHIQ2Gw28Yo%2FGa2g%3D%3D&dn=85507213341-12b7840e&fr=android&pf=3300&bi=35825&ve=7.9.2.771&ss=407x853&pc=AASZtg30J6cEZGl0meB9hj0E8U9brcrtYubvdgeP%2BOWEz0vpfLJPZfnxjOm%2Fxul3xW7j9n4com6OOMCVoviOk4QO&gi=bTkwBCbSxTOAXUWiJmZaMx19GVxo&mi=2312DRA50C&ni=bTkwBHemD30PJEvXSga2ki3ciKarGqoowKzIca0Rj7inq8M%3D&la=zh&ut=AANx101uRUMl2l2Ot6hnNFQe%2F%2B%2Fmm2JHIQ2Gw28Yo%2FGa2g%3D%3D&nt=5&nw=0&kt=4&pr=ucpro&ch=kk%40store&mt=73ABKMNLPFhfbAKV15H%2BDiEkS8zWXwui&__dt=31265&__t=' + str(int(time.time() * 1000))
|
|
data = {
|
|
'client_id': '532',
|
|
'v': '1.2',
|
|
'request_id': request_id,
|
|
'sign_wg': sign_wg,
|
|
'kps_wg': kps_wg,
|
|
'vcode': vcode,
|
|
'token': token
|
|
}
|
|
res =s.post(url, data=data, params=queryParams)
|
|
if res.json().get('status') == 2000000:
|
|
is_login = True
|
|
return is_login |