欢迎光临
我们一直在努力

详细分析某度翻译API得到真实数据

本帖最后由 QingYi. 于 2021-7-14 22:29 编辑

首先打开网站:https://fanyi.baidu.com/
打开开发者工具,选择xhr模式(别问,问就是经验告诉我是这边)

详细分析某度翻译API得到真实数据



我们得到的数据如下:

[Asm] 纯文本查看 复制代码
from: csto: zhquery: longtoutranstype: realtimesimple_means_flag: 3sign: 777440.999377token: 770e1bc5ccd4a98a51d57ae0aa32a8aadomain: common

但是我们不知道那边是定死的值,那边是固定的值,怎么搞?  没关系 我们再发一次请求

我们可以看到唯一变化的值只有这个sign哦

详细分析某度翻译API得到真实数据

来 我们来搜索sign

详细分析某度翻译API得到真实数据

我就不一个一个找了,这些都是需要大家一个一个去找的,我就直接告诉大家在那边吧

他在这边,我们直接断点打过去

详细分析某度翻译API得到真实数据

为什么是这里,像不像这个参数?

详细分析某度翻译API得到真实数据

我们来再次发送请求

详细分析某度翻译API得到真实数据

看看这些值

详细分析某度翻译API得到真实数据

sign被丢进去加密了,我们把鼠标放在这个函数上面,看看他是个什么东西

详细分析某度翻译API得到真实数据



我们把这个函数抠出来

详细分析某度翻译API得到真实数据



我们看到他提示少了一个i,i在那?

详细分析某度翻译API得到真实数据

经过对比发现,我们找到了i,我们来看看 这个i的值 他是固定死的呢 还是动态生成的呢?

详细分析某度翻译API得到真实数据



我们可以看到是固定死的

详细分析某度翻译API得到真实数据



我们把它拿进来 又提示报错,怎么搞?

详细分析某度翻译API得到真实数据



提示错误,我们把它删掉就好了

详细分析某度翻译API得到真实数据



然后告诉我们少了定义 是函数n

详细分析某度翻译API得到真实数据

后面我们发现这个函数n就在这个函数的上面  把它拿进去

详细分析某度翻译API得到真实数据

是不是结果就来了?

详细分析某度翻译API得到真实数据

是不是结果就来了?

详细分析某度翻译API得到真实数据

附上JS代码,Python自己去做去

[JavaScript] 纯文本查看 复制代码
function e(r) {var i = "320305.131321201";var o = r.match(/[uD800-uDBFF][uDC00-uDFFF]/g);if (null === o) {    var t = r.length;    t > 30 && (r = "" + r.substr(0, 10) + r.substr(Math.floor(t / 2) - 5, 10) + r.substr( - 10, 10))} else {    for (var e = r.split(/[uD800-uDBFF][uDC00-uDFFF]/), C = 0, h = e.length, f = []; h > C; C++)"" !== e[C] && f.push.apply(f, a(e[C].split(""))),    C !== h - 1 && f.push(o[C]);    var g = f.length;    g > 30 && (r = f.slice(0, 10).join("") + f.slice(Math.floor(g / 2) - 5, Math.floor(g / 2) + 5).join("") + f.slice( - 10).join(""))}var u = void 0,l = "" + String.fromCharCode(103) + String.fromCharCode(116) + String.fromCharCode(107);u = null !== i ? i: (i = window[l] || "") || "";for (var d = u.split("."), m = Number(d[0]) || 0, s = Number(d[1]) || 0, S = [], c = 0, v = 0; v < r.length; v++) {    var A = r.charCodeAt(v);    128 > A ? S[c++] = A: (2048 > A ? S[c++] = A >> 6 | 192 : (55296 === (64512 & A) && v + 1 < r.length && 56320 === (64512 & r.charCodeAt(v + 1)) ? (A = 65536 + ((1023 & A) << 10) + (1023 & r.charCodeAt(++v)), S[c++] = A >> 18 | 240, S[c++] = A >> 12 & 63 | 128) : S[c++] = A >> 12 | 224, S[c++] = A >> 6 & 63 | 128), S[c++] = 63 & A | 128)}for (var p = m,p = n(p, F);return p = n(p, D),p ^= s,0 > p && (p = (2147483647 & p) + 2147483648),p %= 1e6,p.toString() + "." + (p ^ m)}

赞(0) 打赏
未经允许不得转载:哈哈网 » 详细分析某度翻译API得到真实数据

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏