python尝试爬一个网站,
其中一个请求需要传参signature,
通过js生成,从js文件里搜索了signature,
找到我认为相关性最高的代码如下,
想请教各位,参数signature的生成逻辑是啥?
如何通过python模拟?
Js文件:https://game.elfinkingdom.com/assets/main/index.282c0.js 然后我要请求的是https://game.elfinkingdom.com/api/checkSign%EF%BC%88%E9%9C%80%E8%A6%81%E6%90%BA%E5%B8%A6%E4%B8%80%E4%B8%AA%E7%AD%BE%E5%90%8D%E5%8F%82%E6%95%B0)
o.SignMessage = void 0;
var r = e("../../common/Http");
o.SignMessage = function(e) {
return n(this, void 0, void 0, function() {
var t, o;
return i(this, function(n) {
switch (n.label) {
case 0:
return [4, r.http("/api/toRandomNum", {}, "get")];
case 1:
if (t = n.sent().result,
!window.ethers)
throw "Ethers failed!";
return [4, new window.ethers.providers.Web3Provider(window.ethereum).getSigner()];
case 2:
return [4, n.sent().signMessage("" + t)];
case 3:
return o = n.sent(),
[4, r.http("/api/checkSign", {
address: e,
signature: o,
message: "" + t
}, "post")];
case 4:
if (!n.sent().result)
throw "Sign in failed!";
return [2]
}
})
})
}