首页 > 代码库 > Node之http对象
Node之http对象
http建立在TCP协议之上,提供了网络交互的多个api,我根据自己的实践介绍下request和get的用法,这是底层的方法,用express等框架都可以实现
以极速数据api为例,appkey可以去注册申请一个
http.request
调用方式 node http_request.js 13800000000
argv 指的是命令行参数
var qs = require(‘querystring‘) var http = require(‘http‘) var tel = process.argv.slice(2).join(‘ ‘).trim() if (!tel.length) { console.log(‘error‘); process.exit() } http.request({ host: ‘api.jisuapi.com‘, path: ‘/shouji/query?‘ + qs.stringify({appkey: ‘???‘, shouji: tel}) }, function (res) { var body = ‘‘ res.setEncoding(‘utf8‘); res.on(‘data‘, function (chunk) { body += chunk; }) res.on(‘end‘, function () { var obj = JSON.parse(body) console.log(‘归属地‘ + obj.result.city) console.log(‘运营商‘ + obj.result.company) }) }).end()
http.get
var qs = require(‘querystring‘) var http = require(‘http‘) var tel = process.argv.slice(2).join(‘ ‘).trim() if (!tel.length) { console.log(‘error‘); process.exit() } http.get({ host: ‘api.jisuapi.com‘, path: ‘/shouji/query?‘ + qs.stringify({appkey: ‘???‘, shouji: tel}) }, function (res) { var body = ‘‘ res.setEncoding(‘utf8‘); res.on(‘data‘, function (chunk) { body += chunk; }) res.on(‘end‘, function () { var obj = JSON.parse(body) console.log(‘归属地‘ + obj.result.city) console.log(‘运营商‘ + obj.result.company) }) })
http.request和http.get 核心的区别在于end()
最后介绍一个模块 superagent
首先安装 $ npm install superagent
var request = require(‘superagent‘) request.get(‘http://api.jisuapi.com/shouji/query‘) .query({appkey: ‘???‘}) .query({shouji: ‘13800000000‘}) .end(function (err, res) { if (res.ok) { var obj = JSON.parse(res.text) console.log(obj.result.company); } else { console.log(‘error ‘ + res.text); } })
Node之http对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。