百度翻译APi接口实现

案例使用百度翻译API接口,实现文本翻译

为保证翻译质量,请将单次请求长度控制在 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。

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

 public string BaiduFanYi()
        {
            string q = "苹果";
            string appId = "159357147258369";
            string password="1s5d8d6g5f8cd4d5";
            //目标语言
            string  to = "en";
            //源语言
            string from = "zh";
            //获得随机数
            string randomnum = System.DateTime.Now.Millisecond.ToString();
            //获得需要加密的字符串
            string index =appId+q+randomnum+password ;
            //进行加密
            string MD5Sign = GetMD5(index);
            //创建连接地址
            string url = string.Format("http://api.fanyi.baidu.com/api/trans/vip/translate?q={0}&from={1}&to={2}&appid={3}&salt={4}&sign={5}",
                q,from,to,appId,randomnum,MD5Sign
                );
            WebClient wc = new WebClient();
            string FanYi=wc.DownloadString(url);
            return FanYi;
        }
        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="input">要加密的文本</param>
        /// <returns></returns>
        public string GetMD5(string input)
        {
            //判断是否为空
            if (input == null)
            {
                return null;
            }
            //创建MD5哈希表的默认实例
            MD5 md = MD5.Create();
            //将要加密的字符串转换为字节数组
            byte[] buffer = Encoding.UTF8.GetBytes(input);
            //计算指定的字节数组的哈希值
            byte[] data = md.ComputeHash(buffer);
            StringBuilder sb = new StringBuilder();
            //寻黄将哈需数据的每一个字节格式化为16进制字符串
            for(int i=0;i<data.Length;i++)
            {
                sb.Append(data[i].ToString("x2"));
            }
            //返回16进制字符串
            return sb.ToString();
        }

上文中APPid以及password纯属虚构,

时间: 2024-10-25 01:49:23

百度翻译APi接口实现的相关文章

调用百度翻译API接口功能

public string appid = "自己的APPID"; public string q = "要翻译的文本"; public string salt = "1435660288"; public string key = "你的密钥"; public string from = "你的源语言例如zh"; public string to = "要翻译成的语言例如en"; pu

php处理json码 实例:PHP实现百度翻译API调用处理

今天给一个小程序写后台,通过调用百度翻译API实现翻译功能. 调用百度API的url为'http://openapi.baidu.com/public/2.0/translate/dict/simple?client_id=你的KEY&q=要查的汉语&from=zh&to=en'; 申请步骤详见点击打开链接 以上是前期准备工作 ==============================================================================

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

你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那每次弹出来的广告?其实我们想要的就是简单的翻译一个单词.今天就来使用百度翻译开放API,做一个属于自己的翻译工具,只有简单的翻译功能,至于外观自己根据自己的爱好,想做成什么样就做成什么样,终于可以任性一回了~~ 下面先来看一下词典效果:  一.百度翻译API简介 百度翻译可以通过HTTP访问,返回J

百度翻译API

1 #/usr/bin/env python3 2 #coding=utf8 3 4 """百度翻译api功能实现函数,本模块基于Python3.x实现,getTransResult(q)中参数q是需被翻译的内容,目前该函数的源语言默认英文,目标语言默认简体中文""" 5 6 7 import http.client 8 import hashlib 9 import urllib 10 import random 11 import demjs

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

原文出自:http://www.bcmeng.com/api2/ 小梦昨天和大家分享了WP8.1金山词霸API使用方法,今天继续分享windows phone 8.1中百度翻译API的使用方法.和昨天一样首先我们需要申请百度翻译API的Key: 百度翻译API的Key的申请: 进入 http://developer.baidu.com/ 需要一个百度账号,注册登陆后. 点击右上方的  管理服务台 ,选择开发者服务管理,进入口,选择创建工程就可以.创建工程完成后,你就可以拿到你的Key.和金山词霸

C# 调用百度翻译Api

这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = ""; public MainWindow() { InitializeComponent(); this.cbxTranslateChange.SelectedIndex = 0; } private TranClass tranClass = new TranClass(); private void bt

【Python】Python的urllib、urllib2模块调用“百度翻译”API进行批量自动翻译

1.问题描述 在文本数据处理时,经常回出现文本中各种语言的混杂情况,包括:英文.日语.俄语.法语等,需要将不同语种的语言批量翻译成中文进行处理.可以通过Python直接调用百度提供的翻译API进行批量的翻译. 百度翻译API详细文档见:百度翻译API文档 2.问题解决 开发环境:Linux 将文本中的中文和非中文进行分离,对非中文的部分进行翻译. Python的代码如下:translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys

Python 调用百度翻译API

由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu api 整了一下,和大家分享. 1.百度翻译api 由于百度翻译api需要用到API key,所以,得注册百度开发者账号,然后创建开发者服务工程,得到的授权API key,具体操作可查看官方文档,请点 百度翻译api 2.代码实现  基本思路是:先将用户反馈抓下来,然后再处理html标签,再调用百度

利用百度翻译API,获取翻译结果

translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf8") import json #导入json模块 import urllib #导入urllib模块 from urllib2 import Request, urlopen, URLError, HTTPError #导入urllib2模块 def translate(input