申请百度翻译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. CF917D题解

    题目大意 一张有 \(n\) 个节点的完全图,再给出这张图的一棵生成树,问该图有多少颗生成树和这颗生成树的公共边总共有 \(k\) 条,求助 \(0 \leq k \leq n-1\) 时所有 \(k ...

  2. Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 问题描述 使用 sudo apt get-install 出现 E: Failed to fetch问题. 更换镜像源 错误原因:绝大多数情况下, ...

  3. 7月3日 Django 头像预览、用户上传文件操作、logging、debug_tool_bar

    1. 注册功能 1. 头像预览 //头像预览 $('#id_avatar').change(function () { console.log(this.files[0]) //找到选中的头像文件 v ...

  4. 如何做一个网站 (C# + MVC Web+ easyUI )

    如何做一个网站 小编想做一个网站,采用技术为:C# + MVC Web+ easyUI 小编经过几天的学习,以及指了几位大神指导,初见效果.建立网站的思路:先列举需要用到了几个知识点,然后逐一攻克,然 ...

  5. 为什么JVM要用到压缩指针?Java对象要求8字节的整数倍?

    前言 前两天在一个帖子中看到一道面试题: 堆内存超过32G时,为什么压缩指针失效? 之前没有了解过这方面的知识,于是开始google起来,但当我翻看了不下一页的帖子,我都仍然没有搞懂,因为好多答案给我 ...

  6. python3 爬虫4--解析链接

    1.urlparse() 属于urllib.parse 在urlparse世界里面,一个标准的URL链接格式如下 scheme://nrtlooc/path;paramters?query#fragm ...

  7. JVM分析工具与查看命令

    1.概述 无可避免地,我们都需要用到多线程的一天.单纯地使用多线程的参数设置,比如-Xms.-Xmx.-Xss等,还不足够,我们还要学会如何分析JVM里面的线程状况. 在进行java程序问题定位时,内 ...

  8. Dubbo 如何优雅停机?

    Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 会执行.

  9. springboot 设定访问项目的根路径

    springboot的配置文件application.yml: spring.mvc.view.prefix : / spring.mvc.view.suffix : .html server: po ...

  10. mybatis 自定义插件的使用

    今天看了别人的mybatis的教学视频,自己手写了一个简单的自定义的插件,有些细节记录一下. 先看下mybatis的插件的一些说明: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用. ...