aHR0cHM6Ly93d3cudGFwZC5jbi9jbG91ZF9sb2dpbnMvbG9naW4=
import requests
import execjs
url = 'https://www.tapd.cn/cloud_logins/login?ref=https%3A%2F%2Fwww.tapd.cn%2Fmy_worktable%3Fleft_tree%3D1'
phone = ''
password = ''
ctx = execjs.compile(open('get_pwd.js', 'r').read())
params = ctx.call('get_params',password)
print(params)
headers = {
"Referer": "https://www.tapd.cn/cloud_logins/login?ref=https%3A%2F%2Fwww.tapd.cn%2Fmy_worktable%3Fleft_tree%3D1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
}
data = {
'data[Login][ref]': 'https://www.tapd.cn/my_worktable?left_tree=1',
'data[Login][encrypt_key]': params[2],
'data[Login][encrypt_iv]':params[1],
'data[Login][site]': 'TAPD',
'data[Login][via]': 'encrypt_password',
'data[Login][email]': phone,
'data[Login][password]':params[0],
'data[Login][login]': 'login',
'dsc_token': 'rstmmCAzYguu6zvh',
}
s = requests.Session()
res = s.post(url,data=data,headers=headers)
res.encoding = res.apparent_encoding
# print('post请求:',res.text)
print('==='*20)
print('==='*20)
print('==='*20)
# html = s.get('https://www.tapd.cn/my_worktable?left_tree=1&left_tree=1')
# html.encoding = html.apparent_encoding
# print(html.text)
html = s.get('https://www.tapd.cn/43274983/workspaces/workspace_edit')
html.encoding = html.apparent_encoding
print(html.text)
var CryptoJS = CryptoJS || function(t, e) {
var r = {}
, i = r.lib = {}
, n = function() {}
, s = i.Base = {
extend: function(t) {
n.prototype = this;
var e = new n;
return t && e.mixIn(t),
e.hasOwnProperty("init") || (e.init = function() {
e.$super.init.apply(this, arguments)
}
),
e.init.prototype = e,
e.$super = this,
e
},
create: function() {
var t = this.extend();
return t.init.apply(t, arguments),
t
},
init: function() {},
mixIn: function(t) {
for (var e in t)
t.hasOwnProperty(e) && (this[e] = t[e]);
t.hasOwnProperty("toString") && (this.toString = t.toString)
},
clone: function() {
return this.init.prototype.extend(this)
}
}
, o = i.WordArray = s.extend({
init: function(t, r) {
t = this.words = t || [],
this.sigBytes = r != e ? r : 4 * t.length
},
toString: function(t) {
return (t || a).stringify(this)
},
concat: function(t) {
var e = this.words
, r = t.words
, i = this.sigBytes;
if (t = t.sigBytes,
this.clamp(),
i % 4)
for (var n = 0; t > n; n++)
e[i + n >>> 2] |= (r[n >>> 2] >>> 24 - 8 * (n % 4) & 255) << 24 - 8 * ((i + n) % 4);
else if (65535 < r.length)
for (n = 0; t > n; n += 4)
e[i + n >>> 2] = r[n >>> 2];
else
e.push.apply(e, r);
return this.sigBytes += t,
this
},
clamp: function() {
var e = this.words
, r = this.sigBytes;
e[r >>> 2] &= 4294967295 << 32 - 8 * (r % 4),
e.length = t.ceil(r / 4)
},
clone: function() {
var t = s.clone.call(this);
return t.words = this.words.slice(0),
t
},
random: function(e) {
for (var r = [], i = 0; e > i; i += 4)
r.push(4294967296 * t.random() | 0);
return new o.init(r,e)
}
})
, c = r.enc = {}
, a = c.Hex = {
stringify: function(t) {
var e = t.words;
t = t.sigBytes;
for (var r = [], i = 0; t > i; i++) {
var n = e[i >>> 2] >>> 24 - 8 * (i % 4) & 255;
r.push((n >>> 4).toString(16)),
r.push((15 & n).toString(16))
}
return r.join("")
},
parse: function(t) {
for (var e = t.length, r = [], i = 0; e > i; i += 2)
r[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - 4 * (i % 8);
return new o.init(r,e / 2)
}
}
, f = c.Latin1 = {
stringify: function(t) {
var e = t.words;
t = t.sigBytes;
for (var r = [], i = 0; t > i; i++)
r.push(String.fromCharCode(e[i >>> 2] >>> 24 - 8 * (i % 4) & 255));
return r.join("")
},
parse: function(t) {
for (var e = t.length, r = [], i = 0; e > i; i++)
r[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - 8 * (i % 4);
return new o.init(r,e)
}
}
, h = c.Utf8 = {
stringify: function(t) {
try {
return decodeURIComponent(escape(f.stringify(t)))
} catch (e) {
throw Error("Malformed UTF-8 data")
}
},
parse: function(t) {
return f.parse(unescape(encodeURIComponent(t)))
}
}
, u = i.BufferedBlockAlgorithm = s.extend({
reset: function() {
this._data = new o.init,
this._nDataBytes = 0
},
_append: function(t) {
"string" == typeof t && (t = h.parse(t)),