request是服务端发起请求的工具包
安装
基本使用
有如下几种使用方式
1 2 3
| request(url, {option}, callback) request({option}, callback) request.get(url, {option}, callback)
|
除去第一种,后两种的区别无非就是:前者把url和method(请求地址和请求方式)在option中配置,后者无需配置我更喜欢后者,简洁明了
option配置项和回调函数参数讲解参考下文
option配置项
option有如下几种常用配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| { timeout: 5000, method : 'GET', json : true, headers : { 'content-type' : 'application/json', } , qs: { name: kanade } , form: { type: wife } }
|
回调函数callback
callback存在三个参数:error, response, body
- error:当请求出错时,error会存在值,否则为
null
- response:返回的各种参数,其中
statusCode
属性为200时为请求成功,可以结合error判断是否请求成功并处理
- body:请求到的数据
请求示例
直接默认get请求调用
我不喜欢用
1 2 3 4 5 6
| const request = require('request'); request('请求的url', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } })
|
配置项方式请求
get请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const request = require('request'); request({ timeout: 5000, method: 'GET', url: '请求的url', json: true, qs: { xx: "xxx" } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } })
|
post请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const request = require('request'); request({ timeout: 5000, method: 'POST', url: '请求的url', json: true, form: { xx: "xxx" } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } })
|
调用方式请求
get请求
1 2 3 4 5 6 7 8 9 10 11 12
| const request = require('request'); request.get('请求的url', { timeout: 5000, json: true, qs: { xx: "xxx" } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } })
|
post请求
1 2 3 4 5 6 7 8 9 10 11 12
| const request = require('request'); request.post('请求的url', { timeout: 5000, json: true, form: { xx: "xxx" } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } })
|