欢迎光临散文网 会员登陆 & 注册

有道翻译之js数据构造

2021-08-02 16:47 作者:爱吃豆腐的愉悦怪  | 我要投稿


fanyi.youdao.com

1.先打开有道翻译首页,敲击键盘F12键,打开network,点击第一个响应,下滑鼠标中键找到form data的参数,然后重新在输入框中输入新的关键词,对比两次请求响应获得的参数是否一样


图一


图二

发现只有salt,sign,lts 是动态的数据,点击x傍边的三个点

点击Search,在输入框中输入sign摁回车键就能看见一行js代码, 点击打开并且格式化

摁ctrl+f 找到sign,发现这个是一段被md5加密的字符串

把鼠标移动到 e 就能发现这个变量就是输入翻译的关键词

再移动鼠标到 i ,追踪到上面的变量赋值,发现这是一个时间戳加随机数,一样以来,知道sign是一个可以直接构造的数据

整条字符串复制下来,用md5加密

把鼠标移动到bv的值 t 中,发现是一段被加密的数据,把鼠标移动到 var t 的定义变量中,就能看见这是User-Agent,所以这也是可以直接可以直接构建的

那么,现在可以确定 ts就是时间戳,salt就是时间戳+随机数,bv就是被md5加密的User-Agent,把所有参数放到pycharm构建一个字典,这个字典仅限于中文翻译英文,当然如果想要翻译其他的可以先在输入框中输入其他语言的文字再获取请求拿到from和to这两个参数的值

给服务器发送请求获取响应

通过jsonpath找到json数据中的翻译值

完成

有道翻译之js数据构造的评论 (共 条)

分享到微博请遵守国家法律