流程图:
1、页面分析:
可以发现post请求,经过试验,query=兄弟、sign='xxx'、token值(token值是固定的,sign数字签名加密,通过百度翻译开发文档寻找发现) 这三个参数最为重要,同时将需要翻译的源语言以及目标语言代码两个参数传入,这里为zh,en
1)首先寻找token值:(通过全局搜索,可以发现token值是固定的)
2)寻找v2transapi资源:首先观察可以发现先是通过langdetect的post请求生成v2transapi的post请求,因此需要关注这个资源下面是否存在sign的加密方法,通过寻找top整个资源找到v2transapi资源所在文件:index_xxx.js
3)寻找sign加密:在index_xxx.js中通过不断打断点寻找sign加密函数,寻找到与类似加密的函数(可以通过不断的断点去尝试),通过断点校验寻找
点击上述js资源链接跳转,通过断点调试可以寻找需要初始定义的i值,i值为固定值,(可能会更新,反爬):
4)js代码:sign加密所需的函数
function e(r) {
var i = '320305.131321201' ##i值初始化,与u值一