逆向有道翻译接口

262 阅读1分钟

import requests,json,urllib3,random,time
import hashlib
urllib3.disable_warnings()
import traceback

def md5(text):
    obj = hashlib.md5()
    obj.update(text.encode("utf-8"))
    ciphertext_str = obj.hexdigest()
    return ciphertext_str

headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
    "Cookie":"OUTFOX_SEARCH_USER_ID=574153224@10.112.57.88; OUTFOX_SEARCH_USER_ID_NCOO=1331422852.1547725; ___rl__test__cookies=1665626125760",
    "Host":"fanyi.youdao.com",
    "Referer":"https://fanyi.youdao.com/",
    "X-Requested-With":"XMLHttpRequest",

}
now_time=str(int(time.time()*1000))
random_num=random.randint(0,10)
head=headers['User-Agent'][8:]
translate=input('你需要翻译的文字:\n')
data={
    "i":translate,
    "from":"AUTO",
    "to":"AUTO",
    "smartresult":"dict",
    "client":"fanyideskweb",
    "salt":now_time+str(random_num),
    "sign":md5("fanyideskweb" + translate + now_time+str(random_num) + "Ygy_4c=r#e#4EX^NUGUc5"),
    "lts":now_time,
    "bv":md5(head),
    "doctype":"json",
    "version":"2.1",
    "keyfrom":"fanyi.web",
    "action":"FY_BY_CLICKBUTTION",
}
url='https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
try:
    response=requests.post(url,headers=headers,data=data,verify=False)
except:
    print(traceback.format_exc())
    time.sleep(3)

result=response.json()['translateResult'][0][0]['tgt']
print(result)