当前位置: 首页 > news >正文

.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

http://www.lryc.cn/news/388946.html

相关文章:

  • 安卓应用开发学习:通过腾讯地图SDK实现定位功能
  • iptable精讲
  • 2024 年如何构建 AI 软件
  • Python实战,桌面小游戏,剪刀石头布
  • Hadoop权威指南-读书笔记-01-初识Hadoop
  • HttpServletResponse设置headers返回,发现headers中缺少“Content-Length“和“Content-Type“两个参数。
  • GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表
  • 7/1 uart
  • zdppy_api+vue3+antd开发前后端分离的预加载卡片实战案例
  • 别小看手机导航,这些隐藏功能大部分人可能都不知道
  • Lua实现链表(面向对象应用)
  • 每隔一个小时gc一次的问题
  • VBA数据库解决方案第十二讲:如何判断数据库中数据表是否存在
  • 五、Spring IoCDI ★ ✔
  • 计算机网络八股文
  • 科普文:一文搞懂jvm原理(四)运行时数据区
  • 《昇思25天学习打卡营第5天|数据变换 Transforms》
  • 详细分析Oracle修改默认的时间格式(四种方式)
  • 以 Vue 3 项目为例,你是否经常遇到 import 语句顺序混乱的问题?要想解决它其实很容易!
  • mysql数据库ibdata文件被误删后恢复数据的方法
  • eBPF技术揭秘:DeepFlow如何引领故障排查,提升运维效率
  • C++视觉开发 三.缺陷检测
  • 使用 Amazon Bedrock Converse API 简化大语言模型交互
  • 第二十一章 函数(Python)
  • 使用pyqt5编写一个七彩时钟
  • 【Linux】:命令行参数
  • 高考假期预习指南,送给迷茫的你
  • 独孤思维:负债了,还可以翻身吗
  • SwiftUI八与UIKIT交互
  • RedHat9 | 内部YUM本地源服务器搭建