百度翻译api开发之接入文档(第1篇)

2016年08月27日 14:44 | 389次浏览 | 分类: 百度翻译API开发

HTTP接入文档

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

翻译API HTTP地址:

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

您需要向该地址通过POST或GET方法发送下列字段来访问服务

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

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

签名生成方法如下:

1、将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在管理控制台查看)

按照 appid+q+salt+密钥 的顺序拼接得到字符串1。

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

注意:

1、请先将需要翻译的文本转换为UTF-8编码

2、在发送HTTP请求之前需要对各字段做URL encode。

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

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

其中 trans_result 包含了 src 和 dst 字段。

例:将apple从英文翻译成中文:

请求参数:

q=apple

from=en

to=zh

appid=2015063000000001

salt=1435660288

平台分配的密钥: 12345678

生成sign:

>拼接字符串1

拼接appid=2015063000000001+q=apple+salt=1435660288+密钥=12345678

得到字符串1 =2015063000000001apple143566028812345678

>计算签名sign(对字符串1做md5加密,注意计算md5之前,串1必须为UTF-8编码)

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方法传送需要的参数。

错误码列表

当翻译结果无法正常返回时,请参考下表处理:

各语言DEMO

PHP 版(点击下载

JS 版(点击下载

Python 版(点击下载

C 版(点击下载

Java 版(点击下载

常见问题

1. 如何在一次请求中翻译多个单词或者多段文本?

您可以在发送的字段q中用换行符(在多数编程语言中为转义符号 \n )来分隔要翻译的多个单词或者多段文本,这样您就能得到多个单词或多段文本独立的翻译结果了。注意在发送请求之前对q字段做URL encode!

2. 什么是URL encode?

网络标准RFC 1738规定了URL中只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。如果您需要翻译的文本里面出现了不在该规定范围内的字符(比如中文),需要通过URL encode将需要翻译的文本做URL编码才能发送HTTP请求。大部分编程语言都有现成的URL encode函数,具体使用方法可以针对您使用的编程语言自行搜索。

3. 为什么我的请求总是返回错误码54001?

54001表示签名错误,请检查您的签名生成方法是否正确。

应该对 appid+q+salt+密钥 拼接成的字符串做MD5得到32位小写的sign。确保要翻译的文本q为UTF-8编码。

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

如果您无法确认自己生成签名的结果是否正确,可以将您生成的签名结果和在http://app.baidu.com/yiten_md5中生成的常规md5加密-32位小写签名结果对比。

---------------------------------本文中转载自百度翻译api管理控制平台



感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程


上一篇:
^