色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

瀏覽:37日期:2022-08-04 16:28:56

最近為了熟悉一下 js 用有道翻譯練了一下手,寫一篇博客記錄一下,也希望能對(duì)大家有所啟迪,不過(guò)這些網(wǎng)站更新太快,可能大家嘗試的時(shí)候會(huì)有所不同。

首先來(lái)看一下網(wǎng)頁(yè) post 過(guò)去的數(shù)據(jù)

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

大家不難發(fā)現(xiàn),我們翻譯的內(nèi)容是放在 post 的 data 中的,這些參數(shù),除了 salt 和 sign 要么就是不會(huì)變化,要么就是一眼能看出來(lái)意義的;那么這個(gè) salt 和 sign 是什么呢?salt 根據(jù) ta 數(shù)據(jù)的特征,我們應(yīng)該會(huì)想到,這應(yīng)該是一個(gè)時(shí)間戳,而 sign 又是什么呢?我們一起來(lái)看一下

找到這個(gè) js 文件,最上面這個(gè) send 文件

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

將里面的 js 代碼拷貝出來(lái),格式化一下,搜索 sign

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

我們發(fā)現(xiàn),salt 確實(shí)是一個(gè)時(shí)間戳,但 sign 呢?,這里對(duì) sign 的計(jì)算稍微多??錄婦洌?繽跡

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

大家發(fā)現(xiàn) sign 的值,也就是 o 一共是對(duì)四個(gè)參數(shù)進(jìn)行求 md5 碼,兩個(gè)是定值,一個(gè)是前面求到的時(shí)間戳,還有一個(gè)是什么呢?這個(gè)地方我也找了挺久的(還是不懂 js 的痛啊,哭。。。)剩下的參數(shù),就是圖片中所謂的 t

var t = e.i

然后在 data 中,大家還能發(fā)現(xiàn)這么一句:

i:e.i

這個(gè) i 我們對(duì)應(yīng)到 ta 發(fā)送的 data 中,不就是我們要翻譯的字符串嗎?哈哈哈,被我發(fā)現(xiàn)了吧!

發(fā)現(xiàn)這個(gè)就好辦了,我們找出其中參數(shù)之間的關(guān)系,用Python實(shí)現(xiàn) ta

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

但當(dāng)我們構(gòu)造好 data 興高采烈地將數(shù)據(jù) post 過(guò)去的時(shí)候,會(huì)發(fā)現(xiàn)出現(xiàn)報(bào)錯(cuò)了

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

為什么呢?難道是我們的 data 構(gòu)造的有問(wèn)題嗎?不清楚,先嘗試一下,咱們吧瀏覽器中的 data 拷貝進(jìn)來(lái)運(yùn)行一下,發(fā)現(xiàn)還是出錯(cuò)了;那么說(shuō)明錯(cuò)誤不是出在 data 上面了,那究竟是那里出了問(wèn)題呢?難道 ta 還有其他的校驗(yàn)方式;別著急繼續(xù)分析,我們?cè)儆^察一下,post 請(qǐng)求,發(fā)現(xiàn)這個(gè)請(qǐng)求是帶了 cookie的,于是我們猜測(cè),是不是 cookie 的原因呢? 還是不清楚,我們嘗試一下,將 data 對(duì)應(yīng)的 cookie 加上,再運(yùn)行一下。發(fā)現(xiàn)這次通過(guò)了,我們的猜測(cè)沒(méi)錯(cuò),確實(shí)是 cookie 的原因,那么這個(gè) cookie 又是怎么來(lái)的呢?

Cookie

Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯

多嘗試幾次,大家會(huì)發(fā)現(xiàn),不同的請(qǐng)求內(nèi)容,前面兩個(gè)是不會(huì)發(fā)生改變的,而第三個(gè),結(jié)合我們之前的經(jīng)驗(yàn),是不是很像一個(gè)時(shí)間戳;既然有猜測(cè),咱們就又來(lái)嘗試一下,自己構(gòu)造一個(gè) Cookie post 過(guò)去,萬(wàn)事大吉,哈哈哈哈。

最后附上我的代碼

#/usr/bin/python # encoding:utf-8# __Author__ = Slwhyimport requestsimport timeimport randomimport hashlib#i = '' + ((new Date).getTime() + parseInt(10 * Math.random(), 10))i = str(int(time.time()*1000)+random.randint(1,10))#o = n.md5('fanyideskweb' + t + i + 'aNPG!!u6sesA>hBAW1@(-');t = raw_input('please input the word you want to translate:')u = ’fanyideskweb’l = ’aNPG!!u6sesA>hBAW1@(-’src = u + t + i + l # u 與 l 是固定字符串,t是你要翻譯的字符串,i是之前的時(shí)間戳m2 = hashlib.md5()m2.update(src)str_sent = m2.hexdigest()’’’ i:number from:AUTO to:AUTO smartresult:dict client:fanyideskweb salt:1515462554510 sign:32ea4a33c063d174a069959a5df1a115 doctype:json version:2.1 keyfrom:fanyi.web action:FY_BY_REALTIME typoResult:false’’’head = { ’Accept’:’application/json, text/javascript, */*; q=0.01’, ’Accept-Encoding’:’gzip, deflate’, ’Accept-Language’:’zh-CN,zh;q=0.9’, ’Content-Length’:’200’, ’Connection’:’keep-alive’, ’Content-Type’:’application/x-www-form-urlencoded; charset=UTF-8’, ’Host’:’fanyi.youdao.com’, ’Origin’:’http://fanyi.youdao.com’, ’Referer’:’http://fanyi.youdao.com/’, ’User-Agent’:’Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36’, ’X-Requested-With’:’XMLHttpRequest’, # ’Cookie’: ’YOUDAO_MOBILE_ACCESS_TYPE=1; [email protected]; OUTFOX_SEARCH_USER_ID_NCOO=1846816080.1245883; fanyi-ad-id=39535; fanyi-ad-closed=1; JSESSIONID=aaaYuYbMKHEJQ7Hanizdw; ___rl__test__cookies=1515471316884’}head[’Cookie’] = ’[email protected]; OUTFOX_SEARCH_USER_ID_NCOO=1846816080.1245883; ___rl__test__cookies=’+str(time.time()*1000) # ’___rl__test__cookies=1515471316884’data = { ’i’: t, ’from’:’AUTO’, ’to’:’AUTO’, ’smartresult’:’dict’, ’client’:’fanyideskweb’, ’salt’:i, ’sign’:str_sent, ’doctype’:’json’, ’version’:’2.1’, ’keyfrom’:’fanyi.web’, ’action’:’FY_BY_REALTIME’, ’typoResult’:’false’}s = requests.session()# print dataurl = ’http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule’p = s.post(url,data= data,headers = head)print p.text

到此這篇關(guān)于Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯的文章就介紹到這了,更多相關(guān)Python 有道翻譯內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲第一区视频在线观看 | 亚洲欧美卡通动漫丝袜美腿 | 日本一区二区三区四区公司 | 欧美一级毛片高清毛片 | 亚洲综合色一区二区三区小说 | 一区国严二区亚洲三区 | 亚洲综合一| 久久国产成人午夜aⅴ影院 久久国产成人亚洲精品影院老金 | 日韩性色 | 精品在线观看国产 | 亚洲欧美视频一区 | 国产一区二区亚洲精品天堂 | 亚洲国产韩国一区二区 | 成人毛片在线 | 国产日韩精品一区二区在线观看 | 成人亚洲精品777777 | 亚洲国产精品久久精品成人 | 国产精品国产亚洲精品不卡 | 欧美线在线精品观看视频 | 亚洲国产一区二区三区四区 | 亚洲在线观看免费 | 久久久9999久久精品小说 | 日本精品99| 岛国大片在线播放高清 | 欧美成年人视频 | 日韩有码第一页 | 欧美日韩高清性色生活片 | 日本理论在线播放 | 成人精品在线视频 | 欧美aaaaa| 高清视频 一区二区三区四区 | 在线成人aa在线看片 | 亚洲精品免费网站 | 亚洲综合无码一区二区 | 久久精品国产一区二区三区日韩 | 亚洲悠悠色综合中文字幕 | 欧美成人免费一区在线播放 | 精品国产美女福到在线不卡f | 日韩精品一区二区三区在线观看 | 欧美野外性xxxxfeexxxxx | 亚洲男人天堂2017 |