一、背景
二、第一阶层(必应、 金山 )
为什么说是第一阶层呢?当然是因为这两家秉持开放的观念,不禁由衷对其表示尊重!
必应翻译
必应有两个接口,一个是用来获取译文的数据,一个是用来获取翻译的数据,参数都是一致的
参数:from=zh-CHS&to=en&text=代码
参数解析:
from 需要翻译文本的语言
to 翻译结果的语言
text 需要翻译的内容
1.获取译文接口
接口 地址 :
返回数据比较多,想看的自行去实验吧
2.获取翻译接口
接口:
返回结果:{“statusCode”:200,”translationResponse”:”Code”}
金山词霸
接口地址: 参数:f=auto&t=auto&w=爱 参数解析: f:需要翻译的语言 t:翻译成的语言 w:需要翻译的内容 返回结果:{status: 1, content: {from: "zh", to: "en", out: "love", vendor: "ciba", err_no: 0}}
三、第二阶层(有道)
除了第一阶级的两家的接口是直接的,其他的接口都经过加密了,接下来就是加密程度的难易的区分了
有道翻译
接口地址: 参数:i=爱情&from=zh-CHS&to=en&smartresult=dict&client=fanyideskweb&salt=1541752274&sign=99b25d6a0f1dc171047ddf464fa5b87e&doc type =json&version=2.1&keyfrom=fanyi.web&action=FY_BY_REALTIME&typoResult= false 参数解析: i 翻译内容 salt 随机数(官方是用时间+rand生成的,自己试了下用1、2、3这样的也是可以的) sign md5加密 认证(是用一些密文和salt加上i然后进行md5加密,具体的内容就不说了,都在前端代码里了) from 需要翻译文本的语言 to 翻译成的语言 注意点: 1.其他参数都是固定的,可以直接忽视 2.需要带上cookie内容:"Cookie:OUTFOX_SEARCH_USER_ID=-72747@1.8.1.1;" 返回结果:{"translateResult":[[{"tgt":"love","src":"爱情"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","love\r\n","affection\r\n","amor\r\n"],"type":1}}
四、第三阶层(谷歌、百度)
这两家接口用到生成随机数的前端代码比较繁琐,试图搞出来但是发现比较有难度,代码截图如下,随意感受下吧
百度代码.png
百度的翻译接口和谷歌的看上去比较相似,主要难点都是在与获取随机数
虽然没有继续研究下去,但是在网上有关这两家接口的文章有很多,挑选了写的比较好的,有兴趣的小伙伴可以再深入研究!
百度接口研究
谷歌接口研究
五、后记
当然如果不差钱的小伙伴还是建议去直接申请各大翻译平台的API的接口,又稳定又不折腾。支持正版!
这个主要还是个人想研究下,如果造成什么不良影响,请及时跟我沟通下吧。(不过应该没啥影响的)
链接: