做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容;而像我这样的英文小白就只能借助翻译工具才能理解个大概;不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云平台Blumemix,并且提供语言翻译的服务,感觉不错,就拿来研究学习一下;这里就分享一下我的研究学习过程,如何使用Node.js调用REST API打造自己的在线翻译工具,并演示如何把它发布到云平台上,让每个人都可以通过网络访问使用它。
您可以通过点击效果图片的链接访问它。
对 HTML(超文本标记语言)的基本了解;
对CSS (层叠样式表)的基本了解;
对JavaScript(一种直译式脚本语言)的基本了解;
对Node.js Web编程的基本了解;
我提供了所有必要代码,但对这些技术的基本了解有助于您理解有关的细节。
获取服务信息
进入自己的应用程序》概述页面,找到已经添加的服务,点击“显示凭证”,可以查看服务的具体信息:
在浏览器中访问服务URL如下图:
有关开发环境搭建的细节,请参考下面的文章:
《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记进入您的应用程序,点击左侧的开始编码,在右侧点击“下载入门模板代码”。
也可以通过添加Git来下载代码。
1、将下载的入门模板代码解压到一个目录,打开命令行窗口,切换到这个目录下
2、执行命令:npm install
3、执行命令:node app.js
4、在浏览器中访问:http://localhost:6001/
前台主要AJAX代码:调用后台的翻译的处理程序,实现用户交互
后台主要代码:app.js,与翻译服务Web Service交互
/*eslint-env node*/ //------------------------------------------------------------------------------ // node.js starter application for Bluemix //------------------------------------------------------------------------------ // This application uses express as its web server // for more info, see: http://expressjs.com var express = require(‘express‘); var http= require(‘https‘); var qs = require(‘querystring‘); // cfenv provides access to your Cloud Foundry environment // for more info, see: https://www.npmjs.com/package/cfenv var cfenv = require(‘cfenv‘); // create a new express server var app = express(); // serve the files out of ./public as our main files app.use(express.static(__dirname + ‘/public‘)); app.get(‘/trans‘, function (req, res) { //这是需要提交的数据 params = { ‘source‘:‘en‘, ‘target‘:‘es‘, ‘text‘:req.query.txt } var data = qs.stringify(params); //模拟HTTP Get请求 http.get("https://翻译服务用户名:密码@gateway.watsonplatform.net/language-translation/api/v2/translate?" + data, function(gres) { var body = ‘‘; gres.on(‘data‘,function(d){ body += d; }).on(‘end‘, function(){ //console.log(gres.headers); //console.log(body); //输出响应内容 res.send("{\"text\":\"" + body + "\"}"); }); }).on(‘error‘, function(e) { console.log("Got error: " + e.message); });//.auth(‘c9819718-4660-441c-9df7-07398950ea44‘, ‘qUvrJPSdPgOx‘, false); //res.send(body); }); // get the app environment from Cloud Foundry var appEnv = cfenv.getAppEnv(); // start server on the specified port and binding host app.listen(appEnv.port, ‘0.0.0.0‘, function() { // print a message when the server starts listening console.log("server starting on " + appEnv.url); });
1、执行命令:npm install
2、执行命令:node app.js
在浏览器中访问,查看效果,打开浏览器,输入:http://localhost:6001/
登录到 Bluemix? 后,可以使用 cf push 命令来上传应用程序。
cf login -u ivu4e@qq.com -o ivu4e@qq.com -s ivu4e
4、发出 cf push 命令时,cf 命令行界面将提供使用 buildpack 来构建并运行应用程序的 Bluemix 环境的工作目录。
通过仪表板进入您刚刚创建的应用页面,点击左侧的开始编码,右侧顶部会显示:您的应用程序正在运行。http://jstrans.mybluemix.net/
点击后面的链接访问刚刚发布的应用。
通过IBM的Bluemix云平台,我们可以轻松的将自己的应用共享到网络上;
创建Web应用之后会自动获得一个用来访问应用的二级域名;
通过应用程序概述中的应用程序运行状况,可以方便的查看和管理应用运行状态;
这里通过一个小例子展示如何将自己的应用发布到IBM的Bluemix云平台上,
如何与IBM云平台上提供的语言翻译服务交互。
如果您有更好的应用或想法,试试通过IBM的Bluemix云平台共享出来吧。
Node.js中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具
原文:http://blog.csdn.net/testcs_dn/article/details/50688416