var http = require('http'), https = require('https'), Q = require('Q'); var util = { /** * HOW TO Make an HTTP Call - GET * * options for GET * var optionsget = { * hostname : 'api.t.sina.com.cn', * path : '//provinces.json' // the rest of the url with parameters if needed * }; */ get : function(optionsget){ return this.request(optionsget,'GET',null,false); }, post : function(optionspost,jsonObject){ return this.request(optionspost,'POST',jsonObject,false); }, /** * HOW TO Make an HTTPs Call - GET * * options for GET * var optionsget = { * hostname : 'graph.facebook.com', * path : '/youscada' // the rest of the url with parameters if needed * }; */ secureGet : function(optionsget){ return this.request(optionsget,'GET',null,true); }, /** * HOW TO Make an HTTPs Call - POST * * options for POST * var optionspost = { * hostname : 'graph.facebook.com', * path : '/youscada/feed?access_token=your_api_key' * }; */ securePost : function(optionspost,jsonObject){ return this.request(optionspost,'POST',jsonObject,true); }, /** * var options = { * hostname : 'graph.facebook.com', * path : '/youscada/feed?access_token=your_api_key' * } */ request : function(options,method,jsonObject,isSecure){ if(!(options && options.hostname && options.path)){ throw new Error('Omit property : "hostname" or "path".'); } options.method = method || 'GET'; options.port = options.port || 80; if(Object.prototype.toString.call(jsonObject) === '[object Object]'){ jsonObject = JSON.stringify(jsonObject); var postheaders = { 'Content-Type' : 'application/json', 'Content-Length' : Buffer.byteLength(jsonObject, 'utf8') }; options.headers = postheaders; } var protocal = http; if(isSecure){ options.port = 443; protocal = https; } var deferred = Q.defer(); var body = ""; // do the POST call var request = protocal.request(options, function(res) { res.on('data', function(trunk) { body += trunk; }).on('end',function(){ deferred.resolve(body); }).on('errer',function(err){ deferred.reject(err); }); }); // write the json data if(options.method === 'POST'){ request.write(jsonObject); } request.end(); request.on('error', function(e) { deferred.reject(e); }); return deferred.promise; } }; module.exports = util;
…… router.get('/rest', function(req, res,next) { var promise = restUtil.get({ hostname : "api.t.sina.com.cn", path : "/provinces.json" }); promise.then(function(data){ res.send(data); },function(err){ next(err); }); }); ……
相关推荐
要实现Node.js调用.NET WebAPI,首先你需要安装Edge.js库,这可以通过npm(Node.js包管理器)来完成: ```bash npm install edge ``` 然后,在Node.js中引入Edge.js,并定义一个函数来执行.NET的代码,例如,调用Web...
基于nodejs的websocket平台,该平台包括异步的数据库调用,异步的rest api访问,以及能够提供rest api的服务。该平台能实现基于ws的聊天室,可以将聊天的信息调用rest api存储到数据库,可以通过网页访问该平台提供...
标题"nodejs调用C++代码"指的就是这种技术,它允许我们利用Node.js的便捷性和C++的高性能。Node.js提供了一个名为`N-API`(Node.js API)的接口,它是跨平台的,可以用来创建原生模块,这些模块可以包含C++代码,...
nodejs调用java可以通过child_process模块中的spawn()函数实现。 var spawn = require('child_process').spawn; nodejsJava.encryptccbParam=function(flag,param,pubKey,callback){//必须传入4个参数}
Node.js本身提供了丰富的API来处理文件和目录,但在某些情况下,调用系统命令可能会更为直接和高效。 知识点一:Node.js的child_process模块 Node.js的child_process模块允许开发者执行外部命令。这个模块提供了...
Node-FSAPI, 用于NodeJS的rest式 文件系统 API node 文件系统 APInode fsapi为与远程文件系统交互提供了一个rest式( CRUD ) 服务器。 它依靠( 读取) 。POST ( 创建) 。( 更新) 和使用纯语言语法删除( 删除) 命令。...
todoAPIjs, NodeJS,ExpressJS和 MongoDB rest式API教程 待办事项Angular,NodeJS,ExpressJS和 MongoDB rest式API教程。 请参见创建一个rest式API教程以获得更详细的信息。安装你只需要安装依赖项:npm install然后...
通过nodejs 调用 海泰方圆的usbkey 接口,需要完整代码和我联系40744069@qq.com
plotly-nodejs, Plotly和 REST api流的node.js 包装器 Plotly node API 分析和可视化数据,一起流 plot-示例模拟传感器流数学酒吧安装npm install plotly用法var plotly = require('plotly')
快递查询接口通常由第三方服务提供商提供,如“快递鸟”,它聚合了各大快递公司的数据,提供统一的API供开发者使用。你需要拥有一个有效的快递鸟ID,这是调用接口的凭证。 3. **API调用**: 在`index.js`中,你会...
旋转木马API 使用 NodeJS 提供轮播服务的 Rest API 版本:1.0.0安装 npm install发展运行应用服务器并开始开发 npm run serve环境 localhost:8080API 指南端点列表 localhost:8080/apiDocs方法小路有效载荷描述GET /...
nodejs-sqlite-restapi-app 关于应用程序 此应用程序是关于对自行车进行CRUD操作。 先决条件 节点js (可选) 设置 克隆存储库。 git clone ...
通过以上组件的组合,"restapi-nodejs-mysql"项目提供了一个完整的REST API解决方案,使得前端开发者可以方便地调用API获取数据,而无需关心后端的实现细节。同时,这样的架构也便于扩展和维护,对于初学者和经验...
基本情况 在一个项目开发过程中,遇到了小票自动打印的业务需求,原本计划使用NodeJS构建打印服务,调用本地电脑打印机进行数据打印,最后可参考资料偏少,由于项目紧急且对NodeJS的熟悉程度目前也还不够,所以转而...
PureImage 是用于NodeJS的HTML Canvas 2d绘图API的纯JavaScript实现
BizMetrics.io API NodeJS ...BizMetrics.io REST API - NodeJS 库 目前,这是在其 1.2 版本上使用生成的代码。 它不能保证工作,但它应该为使用 BizMetrics 的 API 提供一个很好的起点。 欢迎和鼓励贡献和改进。
NodeJS调用JShaman接口加密JS代码
JavaScript_ChatGPT和Bing AI的客户端实现,可作为Nodejs模块REST API服务器和CLI应用.zip
NodeJS和MongoDB的示例REST API 先决条件 此REST API示例假定您已安装NodeJS和MongoDB。 如果不是,请安装它们并继续。 用法 npm i # or yarn # in a separate terminal window/tab run npm run db # in a separate...