申请百度翻译API
申请百度翻译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 | 翻译结果 | 返回翻译结果,包括 src 和 dst 字段 |
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的更多相关文章
- WP8.1小梦词典开发2:百度翻译API使用
原文出自:http://www.bcmeng.com/api2/ 小梦昨天和大家分享了WP8.1金山词霸API使用方法,今天继续分享windows phone 8.1中百度翻译API的使用方法.和昨天 ...
- 基于百度翻译API开发属于自己的翻译工具
你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那 ...
- 原生js简单调用百度翻译API实现的翻译工具
先来个在线demo: js翻译工具 或者百度搜索js简单调用百度翻译API工具(不过有个小小的界面显示bug,我想细心的人应该会发现) 或者直接前往该网址:js翻译工具 或者前往我的github:gi ...
- 百度翻译API(C#)
百度翻译开放平台:点击打开链接 1. 定义类用于保存解析json得到的结果 public class Translation { public string Src { get; set; } pub ...
- 百度翻译api 实现简易微信翻译小程序
介绍 口袋翻译 口袋翻译 微信小程序 翻译功能 含7类语言的相互翻译 包含最近10条的翻译历史回溯功能 微信搜索:简e翻译 功能展示 使用百度翻译api需要申请 appid 与 key 并在 ap ...
- Go语言使用百度翻译api
Go语言使用百度翻译api 之前做过一个使用百度翻译api的工具,这个工具用于用户的自动翻译功能,是使用C#调用百度翻译api接口,既然在学习Go语言,那必然也是要使用Go来玩耍一番.这里我是这么安排 ...
- 百度翻译api初使用(很久没写python了,写几行玩玩)
调用free api做做简易的翻译 这个是百度翻译api文档 http://api.fanyi.baidu.com/api/trans/product/apidoc 照着百度api给的文档向web服务 ...
- C# 调用百度翻译Api
这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = "" ...
- Python 调用百度翻译API
由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...
随机推荐
- CF917D题解
题目大意 一张有 \(n\) 个节点的完全图,再给出这张图的一棵生成树,问该图有多少颗生成树和这颗生成树的公共边总共有 \(k\) 条,求助 \(0 \leq k \leq n-1\) 时所有 \(k ...
- Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 问题描述 使用 sudo apt get-install 出现 E: Failed to fetch问题. 更换镜像源 错误原因:绝大多数情况下, ...
- 7月3日 Django 头像预览、用户上传文件操作、logging、debug_tool_bar
1. 注册功能 1. 头像预览 //头像预览 $('#id_avatar').change(function () { console.log(this.files[0]) //找到选中的头像文件 v ...
- 如何做一个网站 (C# + MVC Web+ easyUI )
如何做一个网站 小编想做一个网站,采用技术为:C# + MVC Web+ easyUI 小编经过几天的学习,以及指了几位大神指导,初见效果.建立网站的思路:先列举需要用到了几个知识点,然后逐一攻克,然 ...
- 为什么JVM要用到压缩指针?Java对象要求8字节的整数倍?
前言 前两天在一个帖子中看到一道面试题: 堆内存超过32G时,为什么压缩指针失效? 之前没有了解过这方面的知识,于是开始google起来,但当我翻看了不下一页的帖子,我都仍然没有搞懂,因为好多答案给我 ...
- python3 爬虫4--解析链接
1.urlparse() 属于urllib.parse 在urlparse世界里面,一个标准的URL链接格式如下 scheme://nrtlooc/path;paramters?query#fragm ...
- JVM分析工具与查看命令
1.概述 无可避免地,我们都需要用到多线程的一天.单纯地使用多线程的参数设置,比如-Xms.-Xmx.-Xss等,还不足够,我们还要学会如何分析JVM里面的线程状况. 在进行java程序问题定位时,内 ...
- Dubbo 如何优雅停机?
Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 会执行.
- springboot 设定访问项目的根路径
springboot的配置文件application.yml: spring.mvc.view.prefix : / spring.mvc.view.suffix : .html server: po ...
- mybatis 自定义插件的使用
今天看了别人的mybatis的教学视频,自己手写了一个简单的自定义的插件,有些细节记录一下. 先看下mybatis的插件的一些说明: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用. ...