申请百度翻译API

0x00 前期准备

  • 百度账号
  • md5的相关知识

0x01

进入百度开放平台,登录你的百度账号

找到 产品服务 -> 通用翻译API

0x02

点击下面的立即使用按钮,注册成为个人开发者(或者企业开发者)

0x03

填写基本信息后,点击下一步

0x04

之后选择高级版,填写自己的真实姓名和身份证号后,点击提交

0x05

之后选择开通服务,根据需要选择标准版或高级版

0x06

我这里仅开通标准版的

填写你的应用名称,点击确认开通

开通成功

0x07

点击导航栏里你的昵称,选择开发者信息,可以看到你的APPID和密钥

0x08 API文档

导航栏里 文档与支持 -> 左侧通用翻译API

或者直接访问这里进行查阅:https://api.fanyi.baidu.com/doc/21

0x09 使用方法

简单描述一下,以下内容照搬自百度翻译官方文档

接入方式

通用翻译API通过HTTP接口对外提供多语种互译服务。您只需要通过调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。

通用翻译API HTTP地址:

http://api.fanyi.baidu.com/api/trans/vip/translate

通用翻译API HTTPS地址:

https://fanyi-api.baidu.com/api/trans/vip/translate

输入参数

字段名 类型 是否必填 描述 备注
q string 请求翻译 query UTF-8 编码
from string 翻译源语言 可设置为 auto
to string 翻译目标语言 不可设置为 auto
appid string APP ID 可在 管理控制台 查看
salt string 随机数
sign string 签名 appid+q+salt+密钥 的MD5值
以下字段仅开通了词典、TTS用户需要填写
tts integer 是否显示语音合成资源 0 - 显示 1 - 不显示
dict integer 是否显示词典资源 0 - 显示 1 - 不显示
以下字段仅开通了”我的术语库“用户需要填写
action integer 判断是否需要使用自定义术语干预 API 1 - 是 0 - 否

请求方式: 可使用GET或POST方式,如使用POST方式,Content-Type请指定为:application/x-www-form-urlencoded

字符编码:统一采用UTF-8编码格式

query长度:为保证翻译质量,请将单次请求长度控制在 6000 bytes以内。(汉字约为2000个)

签名生成方法

签名是为了保证调用安全,使用MD5算法生成的一段字符串,生成的签名长度为 32位,签名中的英文字符均为小写格式

生成方法:

Step1. 将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥 的顺序拼接得到字符串1。

Step2. 对字符串1做md5,得到32位小写的sign。

注:

\1. 待翻译文本(q)需为UTF-8编码

\2. 在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode

输出参数

返回的结果是json格式,包含以下字段:

字段名 类型 描述 备注
from string 源语言 返回用户指定的语言,或者自动检测出的语种(源语言设为 auto 时)
to string 目标语言 返回用户指定的目标语言
trans_result array 翻译结果 返回翻译结果,包括 srcdst 字段
trans_result.*.src string 原文
trans_result.*dst string 译文
error_code integer 错误码 仅当出现时错误时显示
以下字段仅开通了词典、TTS用户可见
src_tts string 原文tts链接 mp3格式,暂时无法指定发音
dst_tts string 译文tts链接 mp3格式,暂时无法指定发音
dict object 中英词典资源 返回中文或英文词典资源,包含音标,简明释义等内容

接入举例

例如:将英文单词apple翻译成中文:

请求参数

​ q=apple

​ from=en

​ to=zh

​ appid=2015063000000001(请替换为您的appid)

​ salt=1435660288(随机码)

​ 平台分配的密钥: 12345678

生成签名sign:

Step1. 拼接字符串1:

拼接appid=2015063000000001+q=apple+salt=1435660288+密钥=12345678得到字符串1:“2015063000000001apple143566028812345678”

Step2. 计算签名:(对字符串1做md5加密)

sign=md5(2015063000000001apple143566028812345678),得到sign=f89f9594663708c1605f3d736d01d2d4

拼接完整请求:

http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

注:也可使用POST方式,如POST方式传送,Content-Type请指定为:application/x-www-form-urlencoded

语种列表

通用翻译API支持语种数已达211种,完整列表如下。其中,对于常见语种列表内的语种,所有用户均可调用。对于非常见语种,仅企业已认证用户可调用,未认证用户调用将返回错误。

源语言语种不确定时可设置为 auto,目标语言语种不可设置为 auto。但对于非常用语种,语种自动检测可能存在误差。

常见语种列表

名称 代码 名称 代码 名称 代码
自动检测 auto 中文 zh 英语 en
粤语 yue 文言文 wyw 日语 jp
韩语 kor 法语 fra 西班牙语 spa
泰语 th 阿拉伯语 ara 俄语 ru
葡萄牙语 pt 德语 de 意大利语 it
希腊语 el 荷兰语 nl 波兰语 pl
保加利亚语 bul 爱沙尼亚语 est 丹麦语 dan
芬兰语 fin 捷克语 cs 罗马尼亚语 rom
斯洛文尼亚语 slo 瑞典语 swe 匈牙利语 hu
繁体中文 cht 越南语 vie

0x10 更多内容请查阅官方文档

https://api.fanyi.baidu.com/doc/21

申请百度翻译API的更多相关文章

  1. WP8.1小梦词典开发2:百度翻译API使用

    原文出自:http://www.bcmeng.com/api2/ 小梦昨天和大家分享了WP8.1金山词霸API使用方法,今天继续分享windows phone 8.1中百度翻译API的使用方法.和昨天 ...

  2. 基于百度翻译API开发属于自己的翻译工具

    你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那 ...

  3. 原生js简单调用百度翻译API实现的翻译工具

    先来个在线demo: js翻译工具 或者百度搜索js简单调用百度翻译API工具(不过有个小小的界面显示bug,我想细心的人应该会发现) 或者直接前往该网址:js翻译工具 或者前往我的github:gi ...

  4. 百度翻译API(C#)

    百度翻译开放平台:点击打开链接 1. 定义类用于保存解析json得到的结果 public class Translation { public string Src { get; set; } pub ...

  5. 百度翻译api 实现简易微信翻译小程序

    介绍 口袋翻译 口袋翻译 微信小程序 翻译功能 含7类语言的相互翻译 包含最近10条的翻译历史回溯功能 微信搜索:简e翻译 功能展示   使用百度翻译api需要申请 appid 与 key 并在 ap ...

  6. Go语言使用百度翻译api

    Go语言使用百度翻译api 之前做过一个使用百度翻译api的工具,这个工具用于用户的自动翻译功能,是使用C#调用百度翻译api接口,既然在学习Go语言,那必然也是要使用Go来玩耍一番.这里我是这么安排 ...

  7. 百度翻译api初使用(很久没写python了,写几行玩玩)

    调用free api做做简易的翻译 这个是百度翻译api文档 http://api.fanyi.baidu.com/api/trans/product/apidoc 照着百度api给的文档向web服务 ...

  8. C# 调用百度翻译Api

    这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = "" ...

  9. Python 调用百度翻译API

    由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...

随机推荐

  1. Sequelize关联查询,where影响全局的解决

    需求背景 系统字段关联公司字段表,通过查询所有的系统字段然后关联查询指定的公司对应的字段. 问题代码 const sysField = ctx.model.SysDictionary; const c ...

  2. mixin混入

    mixin(混入) 功能:可以把多个组件共用的配置提取成一个混入对象 使用方式: 第一步定义混合,例如: { data(){.........}, methods:{.........} ...... ...

  3. go1.18泛型的简单尝试

    今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: G ...

  4. 一次苦逼的SQL注入

    0x01: 偶一打点,看到一个可爱的系统-. 1.通过F12 把链接提出来仔细瞅瞅- 2.看见id,果断测注入- 感觉有戏 嗯? 啥数据库连接出错,啥意思??? (其实,这是运维做的混淆..) 3.这 ...

  5. [XCTF嘉年华体验赛](web)web2 assert函数

    0x00 题目分析 浏览一遍页面,在about页面,获得如下信息 访问 .git/ ,页面存在. 使用githack扒下来.得到源码,进行代码审计. 分析得到: 1.flag在flag页面,要看源码才 ...

  6. Python 远程开发环境部署与调试

    一.下载相应开发工具 Pycharm :下载地址  二.部署开发机 一般在工作过程中,开发环境并不是本地环境,而是指在开发机:因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务 三.代 ...

  7. Flutter查漏补缺1

    Flutter 基础知识查漏补缺 Hot reload原理 热重载分为这几个步骤 扫描项目改动:检查是否有新增,删除或者改动,直到找到上次编译后发生改变的dart代码 增量编译:找到改变的dart代码 ...

  8. 从查询重写角度理解elasticsearch的高亮原理

    一.高亮的一些问题 elasticsearch提供了三种高亮方式,前面我们已经简单的了解了elasticsearch的高亮原理; 高亮处理跟实际使用查询类型有十分紧密的关系,其中主要的一点就是muti ...

  9. jQuery对象的创建

    1.js类库 JavaScript封装了很多的预定义的对象和实用函数,能帮助使用者建立有高难度交互 客户端页面,并且兼容各大浏览器.跑在浏览器,请求服务器 当前比较流行的js库: jquery EXT ...

  10. Zookeeper Watcher 机制 -- 数据变更通知 ?

    Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务 端的一些指定事件触发了这个 Watcher,服务端会向指定客户端发送一个事件通 知来实现分布式的通知功 ...