c#:使用百度翻译API
来源:互联网 发布:线切割加工编程时 编辑:程序博客网 时间:2024/05/17 02:55
首先先在百度翻译开放平台上注册一下,然后得到两个关键值:App Id 和 秘钥,有了这俩就可以直接写程序了。
写程序的时候参考一下开发手册
因为最后的返回结果是这样的
{"from":"en","to":"zh","trans_result":[{"src":"hello","dst":"\u4f60\u597d"}]}
先定义一个Translation.cs用了存放结果中的trans_result
public class Translation{ public string Src { get; set; } public string Dst { get; set; }}
再定义一个TranslationResult存放上面结果的反序列化的结果
public class TranslationResult{ public string Error_code { get; set; } public string Error_msg { get; set; } public string From { get; set; } public string To { get; set; } public string Query { get; set; } public Translation[] Trans_result { get; set; }}
之后是主体功能:拼接URL并访问然后得到结果
我现在使用的版本URL拼接格式是:
http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4
也就是 百度翻译网址+要翻译的字符串+源语言+目的语言+appid+随机数字+md5校验值
这个有可能会变,反正这些帮助文档上写的都很详细
public static TranslationResult GetTranslationFromBaiduFanyi(String source, Language from = Language.Auto, Language to = Language.Auto){ String jsonResult = String.Empty; String languageFrom = from.ToString().ToLower(); String languageTo = to.ToString().ToLower(); String appId = "123321123321"; String randomNum = System.DateTime.Now.Millisecond.ToString(); String md5Sign = GetMD5HashFromFile(appId + source + randomNum + "09090909090909"); Console.WriteLine(appId + source + randomNum + "Cxdi54XVRAnuMAbOjCMr"); String url = String.Format("http://api.fanyi.baidu.com/api/trans/vip/translate?q={0}&from={1}&to={2}&appid={3}&salt={4}&sign={5}", HttpUtility.UrlEncode(source, Encoding.UTF8), languageFrom, languageTo, appId, randomNum, md5Sign ); Console.WriteLine(url); WebClient wc = new WebClient(); try { jsonResult = wc.DownloadString(url); } catch (Exception e) { jsonResult = string.Empty; Console.WriteLine(e.Message); } JavaScriptSerializer jss = new JavaScriptSerializer(); TranslationResult ret = jss.Deserialize<TranslationResult>(jsonResult); return ret;}
上面用到的MD5在我之前的博客或者网上都能找到
还用到了一个枚举定义语言类型
public enum Language{ Auto = 0, ZH = 1, JP = 2, EN = 3, KOR = 4, SPA = 5, FRA = 6, TH = 7, ARA = 8, RU = 9, PT = 10, YUE = 11, WYW = 12, DE = 13, NL = 14, IT = 15, EL = 16}
调用时
private static void Main(String[] args){ TranslationResult result = TranslateUtil.GetTranslationFromBaiduFanyi("hello", TranslateUtil.Language.EN, TranslateUtil.Language.ZH); for (int i = 0; i < result.Trans_result.Length; i++) { Console.WriteLine(result.Trans_result[i].Dst); }}
0 0
- c#:使用百度翻译API
- 使用c通过HTTP接口使用百度翻译API
- 百度翻译C#API接口
- 百度翻译API(C#)
- QtQuick使用百度翻译api
- C#使用百度翻译API
- Android使用百度翻译api
- php使用百度翻译api示例分享
- IOS之百度翻译API使用
- c#:使用bing翻译API
- 使用百度翻译API实现一键翻译
- 调用百度翻译API
- 百度翻译api开发
- 百度翻译API请求
- shell下使用php调用百度翻译API
- 百度翻译API与MD5加密 Java使用
- 新版百度翻译api的使用,java,android
- 百度翻译API的调用
- grpc vs2015编译
- C语言中 sizeof 运算的值是在编译时还是运行时确定?
- HDU-1176 免费馅饼(dp)
- SQL第十一章 上机练习2
- 自定义UIButton,文字图片位置设置 例:图片在上文字在下
- c#:使用百度翻译API
- c++获取本机网卡信息(IP,MAC,网关,子网掩码)
- GDI+概述及双缓冲绘图技术
- Android adb的使用及Android系统常用调试命令
- AssetBundle
- Spring 依赖注入 ---使用的必要性
- 手机号加密处理
- asterisk拨号规则
- iOS https网络请求