WP8.1小梦词典开发2:百度翻译API使用
原文出自:http://www.bcmeng.com/api2/
小梦昨天和大家分享了WP8.1金山词霸API使用方法,今天继续分享windows phone 8.1中百度翻译API的使用方法.和昨天一样首先我们需要申请百度翻译API的Key:
百度翻译API的Key的申请:
进入 http://developer.baidu.com/ 需要一个百度账号,注册登陆后. 点击右上方的 管理服务台 ,选择开发者服务管理,进入口,选择创建工程就可以.创建工程完成后,你就可以拿到你的Key.和金山词霸一样,要处理返回结果,我们必须知道数据返回的格式和发起请求的格式.
百度翻译API的说明:
向百度翻译API发出请求并处理数据:
- void TranslateFromApi()
- {
- string client_id ="5viaBptRhtEjv0HmrB0zN0OV";
- string src = txtSrc.Text.Trim();
- txtDst.Text = "正在翻译";
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" + client_id + "&q=" + src + "&from=" + from + "&to=" + to);
- request.Method = "GET";
- request.Headers["Cookie"] = "name=value";
- request.BeginGetResponse(ResponseCallback, request);
- }
- private async void ResponseCallback(IAsyncResult result)
- {
- try
- {
- HttpWebRequest httpWebRequest = (HttpWebRequest)result.AsyncState;
- WebResponse webResponse = httpWebRequest.EndGetResponse(result);
- using (Stream stream = webResponse.GetResponseStream())
- using (StreamReader reader = new StreamReader(stream))
- {
- string content = reader.ReadToEnd();
- JsonObject joResponse = JsonObject.Parse(content);
- if (joResponse.ContainsKey("error_msg"))
- {
- txtDst.Text = joResponse["error_msg"].GetString();
- }
- else
- {
- if (joResponse.ContainsKey("trans_result"))
- {
- string resultend = null;
- foreach (JsonValue item in joResponse["trans_result"].GetArray())
- {
- resultend += item.GetObject().GetNamedString("dst") + Environment.NewLine;
- }
- await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
- {
- txtDst.Text = resultend;
- });
- }
- }
- }
- }
- catch
- {
- txtDst.Text = "网络访问失败!";
- }
- }
百度翻译API使用源码下载:
WP8.1小梦词典开发2:百度翻译API使用的更多相关文章
- WP8.1小梦词典开发1:金山词霸API使用
原文出自:http://www.bcmeng.com/windows-phone-api/ 今天开始小梦给大家分享一下小梦词典开发中几个关键问题,首先我们来看查词功能的实现.小梦词典的查词功能是通过金 ...
- 小梦词典WP8.1应用发布
这几天一直在做这款应用,今天终于发布了! 小梦词典简介: 小梦词典是一款永久免费无广告的网络词典. 支持英汉单词查询: 支持中,英,法,韩,德,俄,日七国语言翻译,多语言极致体验: 支持生词本记忆,查 ...
- 基于百度翻译API开发属于自己的翻译工具
你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那 ...
- 百度翻译api 实现简易微信翻译小程序
介绍 口袋翻译 口袋翻译 微信小程序 翻译功能 含7类语言的相互翻译 包含最近10条的翻译历史回溯功能 微信搜索:简e翻译 功能展示 使用百度翻译api需要申请 appid 与 key 并在 ap ...
- web开发调用百度地图API + AK申请
web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...
- 记微信开发(有道翻译api)
记微信开发(有道翻译api) 记微信开发(有道翻译api) 效果: 有道翻译api申请: 地址:http://fanyi.youdao.com/openapi code: <?php/** * ...
- 申请百度翻译API
申请百度翻译API 0x00 前期准备 百度账号 md5的相关知识 0x01 进入百度开放平台,登录你的百度账号 找到 产品服务 -> 通用翻译API 0x02 点击下面的立即使用按钮,注册成为 ...
- C# 调用百度翻译Api
这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = "" ...
- Python 调用百度翻译API
由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...
随机推荐
- haproxy学习
1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.t ...
- java_db2错误码对应值
DB2-SQLSTATE消息 2012-08-27 10:35:27| 分类: db2|举报|字号 订阅 本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子 ...
- 【死磕Java并发】-----Java内存模型之happend-before
在上篇博客([死磕Java并发]-–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题.那么我们正确使用同步.锁的情况下 ...
- php抽奖概率算法(刮刮卡,大转盘)
两种方法:①概率随着抽的奖项的变少而时刻变化 经典的概率算法函数:如下 <?php /* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(20, ...
- event.target的第一次
今天在学习其他人代码的时候见到了event.target.nodeName,event.target.dataset.刚开始是一头雾水,便google一下.发现大多数给出的词条都是有关jQuery事件 ...
- php处理登录、添加数据、删除数据和修改数据
php 处理登录 :需要先建一个登录的页面,用form表单就可以很轻松的完成,(这里的示例是我根据数据库现成的表做的 是一个teacher表格 根据老师的工号和姓名登录的) <form acti ...
- Java集合框架之三:HashMap源码解析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集合模型我们有必要弄清楚它的使用方法和它底层的实 ...
- [Hadoop] - Hadoop3.0.x编译
这里仅介绍一种Hadoop3.0.x版本的源码编译方式 编译过程 1. 下载源码 2. 安装依赖环境 3. 源码编译 ========================================= ...
- 每天一个linux命令(56)--crontab命令
上一节学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,Linux 系统则是由 cron(crond)这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- SQL语句使用时间和日期的函数
getdate():获取系统当前时间dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())d ...