"""
Author:tanxin
Date:2021-9-23
js逆向破解
"""import requests
import time
import random
import jsonpath
import hashlib
from fake_useragent import UserAgent
defyoudao():"""
post参数:
i: e(变量)
from: AUTO
to: AUTO
smartresult: dict
client: fanyideskweb
salt: i(变量)
sign: n.md5("fanyideskweb" + e + i + "Y2FYu%TNSbMCxc3t2u^XT") (变量)
lts: r (变量)
bv: t (变量)
doctype: json
version: 2.1
keyfrom: fanyi.web
action: FY_BY_REALTlME
"""
url ='https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'# 设置随机UA伪装
UA = UserAgent().random
HEADERS ={'User-Agent':UA}# 翻译文本 要被翻译的数据
input_str =str(input('请输入翻译文本:'))# md5加密User-Agent,bv参数
bv=hashlib.md5(bytes(UA,encoding='utf-8')).hexdigest()# lts参数,以毫秒为单位的时间戳
lts=str(int(time.time()*1000))# salt参数,加盐,lts+(0,9)
salt=lts +str(random.randint(0,9))# sign参数 sign: n.md5("fanyideskweb" + input_str + salt + "Y2FYu%TNSbMCxc3t2u^XT")
sign=hashlib.md5(bytes("fanyideskweb"+ input_str + salt +"Y2FYu%TNSbMCxc3t2u^XT",encoding='utf-8')).hexdigest()# 参数
data={'i':input_str,'from':'AUTO','to':'AUTO','smartresult':'dict','client':'fanyideskweb','salt':salt,'sign':sign,'lts':lts,'bv':bv,'doctype':'json','version':'2.1','keyfrom':'fanyi.web','action':'FY_BY_REALTlME'}print(input_str,salt,sign,lts,bv)# 发送请求
response=requests.post(url=url,headers=HEADERS,data=data)print(response.json())if __name__ =='__main__':
youdao()
js代码:varr=function(e){var t = n.md5(navigator.appVersion), r =""+(newDate).getTime(), i = r +parseInt(10* Math.random(),10);return{
ts: r,
bv: t,
salt: i,
sign: n.md5("fanyideskweb"+ e + i +"Y2FYu%TNSbMCxc3t2u^XT")
提示js代码可能不一致需要自己调整