在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → 百度在线翻译API (使用实例)

百度在线翻译API (使用实例)

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:0.50M
  • 下载次数:14
  • 浏览次数:127
  • 发布时间:2020-10-19
  • 实例类别:C#语言基础
  • 发 布 人:hyd85716
  • 所需积分:2
 相关标签: API 翻译 百度 实例

实例介绍

【实例简介】

在http://api.fanyi.baidu.com/ 注册API使用的ID就可以使用的翻译工具,简化翻译过程,不用每次都打开网页。

【实例截图】需要字自己注册APIID才行哦

from clipboard

【核心代码】


 string retString = "";
            try
            {
                List<string> rs = new List<string>();
                // 原文
                string q = rt_from.Text;
                // 源语言
                string from = cb_From.Text.Substring(0, cb_From.Text.IndexOf(' '));
                // 目标语言
                string to = cb_to.Text.Substring(0, cb_to.Text.IndexOf(' '));
                // 改成您的APP ID
                string appId = tb_APPID.Text;
                Random rd = new Random();
                string salt = rd.Next(100000).ToString();
                // 改成您的密钥
                string secretKey = tb_PSW.Text;
                string sign = EncryptString(appId   q   salt   secretKey);
                string url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
                //string url = "https://fanyi-api.baidu.com/api/trans/vip/translate?";

                url  = "q="   HttpUtility.UrlEncode(q);
                url  = "&from="   from;
                url  = "&to="   to;
                url  = "&appid="   appId;
                url  = "&salt="   salt;
                url  = "&sign="   sign;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";
                request.ContentType = "text/html;charset=UTF-8";
                request.UserAgent = null;
                request.Timeout = 6000;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
                BaiDuFanYiJosn p = (BaiDuFanYiJosn)JsonConvert.DeserializeObject(retString, typeof(BaiDuFanYiJosn));
                foreach (trans_result item in p.trans_result)
                {
                    UTF8String u8 = new UTF8String(item.dst);
                    rs.Add(u8.ToString());
                }

                string[] rss = new string[rs.Count()];
                for (int i = 0; i < rs.Count(); i  )
                {
                    rss[i] = rs[i];
                }
                rt_to.Lines = rss;
            }
            catch (Exception ex)
            {
                string msg = "";
                if (retString.Length > 21)
                { 
                    //52000  成功  
                    if (retString.Substring(15, 5).ToString() == "52000")
                    {
                        msg = "成功" ;
                    }
                    //52001 请求超时 重试 
                    if (retString.Substring(15, 5).ToString() == "52001")
                    {
                        msg = "请求超时 重试" ;
                    }
                    //52002 系统错误 重试 
                    if (retString.Substring(15, 5).ToString() == "52002")
                    {
                        msg = "系统错误 重试" ;
                    }
                    //52003 未授权用户 检查您的 appid 是否正确,或者服务是否开通 
                    if (retString.Substring(15, 5).ToString() == "52003")
                    {
                        msg = "未授权用户 检查您的 appid 是否正确,或者服务是否开通" ;
                    }
                    //54000 必填参数为空 检查是否少传参数 
                    if (retString.Substring(15, 5).ToString() == "54000")
                    {
                        msg = "必填参数为空 检查是否少传参数" ;
                    }
                    //54001 签名错误 请检查您的签名生成方法 
                    if (retString.Substring(15, 5).ToString() == "54001")
                    {
                        msg = "签名错误 请检查您的签名生成方法" ;
                    }
                    //54003 访问频率受限 请降低您的调用频率 
                    if (retString.Substring(15, 5).ToString() == "54003")
                    {
                        msg = "访问频率受限 请降低您的调用频率" ;
                    }
                    //54004 账户余额不足 请前往管理控制台为账户充值 
                    if (retString.Substring(15, 5).ToString() == "54004")
                    {
                        msg = "账户余额不足 请前往管理控制台为账户充值 " ;
                    }
                    //54005 长query请求频繁 请降低长query的发送频率,3s后再试 
                    if (retString.Substring(15, 5).ToString() == "54005")
                    {
                        msg = "长query请求频繁 请降低长query的发送频率,3s后再试  " ;
                    }
                    //58000 客户端IP非法 检查个人资料里填写的 IP地址 是否正确
                    if (retString.Substring(15, 5).ToString() == "58000")
                    {
                        msg = "客户端IP非法 检查个人资料里填写的 IP地址 是否正确" ;
                    }
                    //58001 译文语言方向不支持 检查译文语言是否在语言列表里 
                    if (retString.Substring(15, 5).ToString() == "58001")
                    {
                        msg = "译文语言方向不支持 检查译文语言是否在语言列表里 " ;
                    }
                    //58002 服务当前已关闭 请前往管理控制台开启服务 
                    if (retString.Substring(15, 5).ToString() == "58002")
                    {
                        msg = "服务当前已关闭 请前往管理控制台开启服务 " ;
                    }
                    //90107 认证未通过或未生效 请前往我的认证查看认证进度 
                    if (retString.Substring(15, 5).ToString() == "90107")
                    {
                        msg = "认证未通过或未生效 请前往我的认证查看认证进度 " ;
                    }
                }
                msg = msg   "||"   ex.Message;
                MessageBox.Show(msg);
            } 


标签: API 翻译 百度 实例

实例下载地址

百度在线翻译API (使用实例)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警