基本信息
源码名称:百度在线翻译API (使用实例)
源码大小:0.50M
文件格式:.rar
开发语言:C#
更新时间:2020-10-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

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

需要字自己注册APIID才行哦


 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);
            }