最近工作上没有什么事情,比较清闲,但是闲着又不舒服,在浏览码农网,看到一个博客,自己实现百度翻译的功能,感觉挺有意思的,就自己也学着实现了一下,用了接近一天的时间,最终完成了最基本的功能—–翻译英文单词。这里建议自己(毕竟编程小白的博客也没有几个看)没事多看看码农网,虽然活跃用户不多,但是里面的文章质量都非常高,费说少说,下面进入正题。
要实现翻译功能,其核心就是调用百度开放的翻译API接口,具体内容和文档请查看百度开发者平台–翻译。从开发文档中,可以总结出完成翻译功能的三个步骤:
- 利用得到APP ID和秘钥,使用MD5算法生成签名
- 对签名进行加密
- 将加密后的签名,APPID 秘钥 随机数写入请求字符串
- 发送请求字符串
- 接受反馈回来的json数据,进行json数据进行反序列化
- 最终得到翻译后的中文意思
步骤明确了,剩下来的就是用代码实现了。
百度反馈回来的数据是json格式的,为了写代码方便,首先创建一个类,用于存放json数据,具体代码如下:
using System.Collections.Generic;
namespace baidufanyi
{
class TransObj
{
//注意:就是此类的三个属性名称必须和json数据里面的key一致
public string from { set; get; }
public string to { set; get; }
public List<TransResult> trans_result { set; get; }
}
class TransResult
{
public string src { set; get; }
public <