C# 有道API翻译 查询单词详细信息

简介: 有道云官方文档 有道云翻译API简介:http://ai.youdao.com/docs/doc-trans-api.s#p01 有道云C#Demo : http://ai.youdao.com/docs/doc-trans-api.

有道云官方文档

有道云翻译API简介:http://ai.youdao.com/docs/doc-trans-api.s#p01

有道云C#Demo : http://ai.youdao.com/docs/doc-trans-api.s#p08

查询单词信息

在有道云的Demo中,已经很完整的给出了相应的代码~

但是针对是的英-汉等翻译,如何只查询单个单词的详细信息,包含单词的翻译/音标/释义等?例如下图示例信息:

 

 

下面修改后封装的查询单词详细信息服务(仅供参考): 

 1     /// <summary>
 2     /// 有道词典API
 3     /// </summary>
 4     internal class YouDaoApiService
 5     {
 6         const string AppKey = "131b76a4ee1ecd13";//AppKey和AppSecret是本人@Winter申请的账号,仅供测试使用
 7         const string LangEn = "en";
 8         const string AppSecret = "KX9hLrgSMhfKkvIqS6nhwtwMcRymJqEA";
 9 
10         public static async Task<YouDaoTranslationResponse> GetTranslatioAsync(string queryText, string from = LangEn, string to = LangEn)
11         {
12             var requestUrl = GetRequestUrl(queryText, from, to);
13 
14             WebRequest translationWebRequest = WebRequest.Create(requestUrl);
15 
16             var response = await translationWebRequest.GetResponseAsync();
17 
18             using (Stream stream = response.GetResponseStream())
19             {
20                 using (StreamReader reader = new StreamReader(stream ?? throw new InvalidOperationException("有道Api查询出错!"), Encoding.GetEncoding("utf-8")))
21                 {
22                     string result = reader.ReadToEnd();
23                     var youDaoTranslationResponse = JsonConvert.DeserializeObject<YouDaoTranslationResponse>(result);
24 
25                     return youDaoTranslationResponse;
26                 }
27             }
28         }
29 
30         private static string GetRequestUrl(string queryText, string from, string to)
31         {
32             string salt = DateTime.Now.Millisecond.ToString();
33 
34             MD5 md5 = new MD5CryptoServiceProvider();
35             string md5Str = AppKey + queryText + salt + AppSecret;
36             byte[] output = md5.ComputeHash(Encoding.UTF8.GetBytes(md5Str));
37             string sign = BitConverter.ToString(output).Replace("-", "");
38 
39             var requestUrl = string.Format(
40                 "http://openapi.youdao.com/api?appKey={0}&q={1}&from={2}&to={3}&sign={4}&salt={5}",
41                 AppKey,
42                 HttpUtility.UrlDecode(queryText, System.Text.Encoding.GetEncoding("UTF-8")),
43                 from, to, sign, salt);
44 
45             return requestUrl;
46         }
47     }

 序列化解析的数据类:

 1     [DataContract]
 2     public class YouDaoTranslationResponse
 3     {
 4         [DataMember(Name = "errorCode")]
 5         public string ErrorCode { get; set; }
 6 
 7         [DataMember(Name = "query")]
 8         public string QueryText { get; set; }
 9 
10         [DataMember(Name = "speakUrl")]
11         public string InputSpeakUrl { get; set; }
12 
13         [DataMember(Name = "tSpeakUrl")]
14         public string TranslationSpeakUrl { get; set; }
15 
16         /// <summary>
17         /// 首选翻译
18         /// </summary>
19         [DataMember(Name = "translation")]
20         public List<string> FirstTranslation { get; set; }
21 
22         /// <summary>
23         /// 基本释义
24         /// </summary>
25         [DataMember(Name = "basic")]
26         public TranslationBasicData BasicTranslation { get; set; }
27 
28         ///// <summary>
29         ///// 网络释义,该结果不一定存在,暂时不使用
30         ///// </summary>
31         //[DataMember(Name = "web")]
32         //public TranslationWebData WebTranslation { get; set; }
33     }
34 
35     /// <summary>
36     /// 基本释义
37     /// </summary>
38     [DataContract]
39     public class TranslationBasicData
40     {
41         [DataMember(Name = "phonetic")]
42         public string Phonetic { get; set; }
43 
44         /// <summary>
45         /// 英式发音
46         /// </summary>
47         [DataMember(Name = "uk-phonetic")]
48         public string UkPhonetic { get; set; }
49 
50         /// <summary>
51         /// 美式发音
52         /// </summary>
53         [DataMember(Name = "us-phonetic")]
54         public string UsPhonetic { get; set; }
55 
56         /// <summary>
57         /// 翻译
58         /// </summary>
59         [DataMember(Name = "explains")]
60         public List<string> Explains { get; set; }
61     }
62 
63     /// <summary>
64     /// 网络释义
65     /// </summary>
66     [DataContract]
67     public class TranslationWebData
68     {
69         [DataMember(Name = "key")]
70         public string Key { get; set; }
71 
72         [DataMember(Name = "value")]
73         public List<string> Explains { get; set; }
74     }
View Code

 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
目录
相关文章
|
6天前
|
API
车牌号归属地查询免费API接口教程
本接口用于根据车牌号查询社会车辆的归属地,不支持军车、使馆等特殊车牌。请求地址为 `https://cn.apihz.cn/api/other/chepai.php`,支持 POST 和 GET 请求。请求参数包括 `id`、`key` 和 `words`,返回数据包含车牌归属地信息。示例请求:`https://cn.apihz.cn/api/other/chepai.php?id=88888888&key=88888888&words=川B1234`。
41 21
|
1月前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
54 7
|
8天前
|
API
天气预报-腾讯天气-7天-地址查询版免费API接口
这是一个免费的腾讯天气API接口,用于查询指定地址的7天天气预报。支持POST和GET请求方式。请求参数包括id、key、province、city、county等。返回参数包含日期、天气状况、温度等信息。 示例请求地址:https://cn.apihz.cn/api/tianqi/tengxun.php?id=88888888&key=88888888&province=四川省&city=绵阳市&county=。
|
8天前
|
JSON 数据挖掘 API
电商信息指南:API接口淘宝关键词、店铺所有商品获取
要获取淘宝关键词商品数据和店铺所有商品的API接口,需先注册淘宝开放平台账号并创建应用,获取API密钥。接着,使用密钥获取访问令牌,详细阅读API文档,构造并发送API请求,解析响应数据。特别地,使用`item_search_shop`接口可获取店铺内所有商品信息。
|
21天前
|
JSON 安全 API
抖音店铺商品信息的 API
抖音店铺商品信息的 API 主要用于获取商品的详细信息,包括基本信息、属性、库存、评价、推广信息等。开发者需注册账号、申请权限、阅读文档、发送请求并处理响应。此外,还提供商品搜索和管理接口,帮助商家优化商品展示和管理订单,提高运营效率。使用时需遵守平台规则,确保数据安全和合法性。
|
1月前
|
存储 安全 Java
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
本文介绍了JDK 21中引入的外部函数和内存API(MemorySegment),这些API使得Java程序能够更安全、高效地与JVM外部的代码和数据进行互操作,包括调用外部函数、访问外部内存,以及使用不同的Arena竞技场来分配和管理MemorySegment。
43 1
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
|
22天前
|
API
淘宝API接口( item_detail - 淘宝商品详情查询)
淘宝商品详情查询 API(item_detail)用于获取淘宝商品的详细信息。请求参数包括商品唯一 ID(num_iid)和是否获取促销价(is_promotion)。响应参数包含商品标题、价格、库存、图片链接、品牌等详细信息。
|
29天前
|
Prometheus 监控 Cloud Native
调用淘宝 API 时如何处理错误信息?
调用淘宝API时,需熟悉其错误码体系,处理客户端(如参数错误、权限不足)和服务器(如内部错误、网络问题)错误,编写错误处理逻辑,并进行充分测试与监控,确保API调用稳定可靠。
|
9天前
|
编解码 API 数据库
商品详情 API 接口的返回结果通常包含哪些信息?
商品详情API接口返回的信息涵盖多个方面,主要包括商品基本信息(ID、标题、图片、价格、库存、SKU)、详细描述与规格参数、销售与评价信息(销量、好评率、评价内容、促销活动)、物流与售后信息(发货地、运费模板、退换货政策、保修期限)及店铺信息(ID、名称、评分)和关联推荐信息(相似商品、搭配商品)。这些信息有助于用户全面了解商品并做出购买决策。
|
1月前
|
数据采集 人工智能 自然语言处理
Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股)AI Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent

热门文章

最新文章