翻译接口整理

一、背景

因为个人需要将中文翻译成英文,所以开始对翻译接口有了兴趣!于是整理下常用的五个翻译接口包括谷歌、百度、有道、必应、金山词霸,经过研究发现,难度等级也是按照如上顺序排列的。目前主流的翻译也都提供了API接口,但是作为一个开发怎么能不追求些挑战呢!

(PS:跟穷没有一点关系!)

二、第一阶层(必应、金山)

为什么说是第一阶层呢?当然是因为这两家秉持开放的观念,不禁由衷对其表示尊重!

必应翻译

必应有两个接口,一个是用来获取译文的数据,一个是用来获取翻译的数据,参数都是一致的
参数:from=zh-CHS&to=en&text=代码
参数解析:
from  需要翻译文本的语言
to    翻译结果的语言
text  需要翻译的内容
1.获取译文接口
接口地址:https://cn.bing.com/translator/
返回数据比较多,想看的自行去实验吧
2.获取翻译接口
接口:https://cn.bing.com/ttranslate
返回结果:{"statusCode":200,"translationResponse":"Code"}

金山词霸

接口地址:http://fy.iciba.com/ajax.php?a=fy
参数:f=auto&t=auto&w=爱
参数解析:
f:需要翻译的语言
t:翻译成的语言
w:需要翻译的内容
返回结果:{status: 1, content: {from: "zh", to: "en", out: "love", vendor: "ciba", err_no: 0}}

三、第二阶层(有道)

除了第一阶级的两家的接口是直接的,其他的接口都经过加密了,接下来就是加密程度的难易的区分了

有道翻译

接口地址:http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
参数:i=爱情&from=zh-CHS&to=en&smartresult=dict&client=fanyideskweb&salt=1541752274&sign=99b25d6a0f1dc171047ddf464fa5b87e&doctype=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:[email protected];"

返回结果:{"translateResult":[[{"tgt":"love","src":"爱情"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","love\r\n","affection\r\n","amor\r\n"],"type":1}}


四、第三阶层(谷歌、百度)

这两家接口用到生成随机数的前端代码比较繁琐,试图搞出来但是发现比较有难度,代码截图如下,随意感受下吧

百度代码.png

百度的翻译接口和谷歌的看上去比较相似,主要难点都是在与获取随机数

虽然没有继续研究下去,但是在网上有关这两家接口的文章有很多,挑选了写的比较好的,有兴趣的小伙伴可以再深入研究!

百度接口研究

谷歌接口研究

五、后记

当然如果不差钱的小伙伴还是建议去直接申请各大翻译平台的API的接口,又稳定又不折腾。支持正版!

这个主要还是个人想研究下,如果造成什么不良影响,请及时跟我沟通下吧。(不过应该没啥影响的)

你可能感兴趣的:(翻译接口整理)