您的位置:首页 > 游戏 > 游戏 > .net 百度翻译接口核心类

.net 百度翻译接口核心类

2024/12/26 18:41:09 来源:https://blog.csdn.net/wxw6782829/article/details/49991387  浏览:    关键词:.net 百度翻译接口核心类

 百度翻译api :http://developer.baidu.com/wiki/index.php?title=帮助文档首页/百度翻译/翻译AP

核心翻译类

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using System.Net;
using System.IO;
using System.Security.Cryptography;


namespace BaiduTrans
{


    public class BaiduTrans
    {
        
        /// <summary>
        /// 1. + URL 中+号表示空格 %2B 
        ///2. 空格 URL中的空格可以用+号或者编码 %20 
        ///3. / 分隔目录和子目录 %2F 
        ///4. ? 分隔实际的 URL 和参数 %3F 
        ///5. % 指定特殊字符 %25 
        ///6. # 表示书签 %23 
        ///7. & URL 中指定的参数间的分隔符 %26 
        ///8. = URL 中指定参数的值 %3D
        /// </summary>
        public string TransContent(string content)
        {
            if(string.IsNullOrEmpty(content)) return"";


            WebClient client = new WebClient();
            content = content.Replace(@"#", "%23");


            string appID = "2015063000000001";
            string pkey = "12345678";
            string sign = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(appID + content + "1435660288" + pkey, "MD5");
            string url = string.Format("http://api.fanyi.baidu.com/api/trans/vip/translate?q={0}&appid={1}&salt=1435660288&from=auto&to=auto&sign={2}", content, appID, sign.ToLower());
            var buffer = client.DownloadData(url);
            string result = Encoding.UTF8.GetString(buffer);
            StringReader sr = new StringReader(result);
            JsonTextReader jsonReader = new JsonTextReader(sr);
            JsonSerializer serializer = new JsonSerializer();
            var r = serializer.Deserialize<TransObj>(jsonReader);
            return r.trans_result[0].dst;
        }

    }

}

对象类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace BaiduTrans
{
   public class TransObj
   {
      public string from { get; set; }
      public string to { get; set; }
      public List<TransResult> trans_result { get; set; }
   }


   public class TransResult
   {
      public string src { get; set; }
      public string dst { get; set; }
   }
}

调用实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace BaiduTrans
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                System.Console.Out.WriteLine("输入要翻译的内容:");
                string src = System.Console.ReadLine();


                BaiduTrans bt = new BaiduTrans();
                string ret = bt.TransContent(src);
                System.Console.Out.WriteLine("翻译内容如下:");
                System.Console.Out.WriteLine(ret);
            }
        }
    }
}

代码包下载:http://download.csdn.net/detail/wxw6782829/9292017

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com