1Introduction
- description:Node 端请求工具
- author:ydr.me
- create:2017-04-07 16:24
- update:2018年09月30日09:22:59
- github:https://github.com/blearjs/blear.node.template
2Example
var request = require('blear.node.request');
3Static
3.1.defaults
- 类型:
Object
- 说明:默认配置
3.1.1.defaults.query
- 类型:
Object | String
- 说明:查询参数
3.1.2.defaults.body
- 类型:
String
- 说明:请求数据,不会添加任何请求头
3.1.3.defaults.json
- 类型:
Object
- 说明:表单,会自动添加
content-type: application/json
请求头
3.1.4.defaults.form
- 类型:
Object
- 说明:表单,会自动添加
content-type: application/x-www-form-urlencoded
请求头
3.1.5.defaults.formData
- 类型:
Object
- 说明:表单,会自动添加
content-type: multipart/form-data
请求头 添加一个文件myFile: { value: fs.createReadStream(filePath), options: { filename: 'test.png', contentType: 'image/png' } }
3.1.6.defaults.headers
- 类型:
Object
- 说明:附加的请求头
3.1.7.defaults.cookies
- 类型:
Object
- 说明:附加的请求 cookie
3.1.8.defaults.url
- 类型:
String
- 说明:请求地址
3.1.9.defaults.method
- 类型:
String
- 说明:请求方法
3.1.10.defaults.encoding
- 类型:
String
- 说明:请求编码
- 默认:
"utf8"
3.1.11.defaults.maxRedirects
- 类型:
Number
- 说明:最大跳转次数(301、302、303跳转)
- 默认:
10
3.1.12.defaults.timeout
- 类型:
Number
- 说明:超时时间(单位:毫秒)
- 默认:
15000
3.1.13.defaults.browser
- 类型:
Boolean | Object
- 说明:模拟浏览器请求头
- 默认:
browser = { accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'accept-encoding': 'gzip', 'accept-language': 'zh-CN,zh;q=0.8,en;q=0.6', 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) ' + 'AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 ' + pkg.name + '/' + pkg.version, 'cache-control': 'no-cache', host: true, origin: true, // 经典错误,应为 referrer referer: true, // 是否保持 cookie cookie: true }
3.1.14.defaults.strictSSL
- 类型:
Boolean
- 说明:是否严格 SSL(某些网站的 HTTPS 证书不是被公认的)
- 默认:
false
3.1.15.defaults.proxy
- 类型:
string
- 说明:HTTP 代理地址(如 shadowsocks)
- 默认:
null
3.1.16.defaults.debug
- 类型:
Boolean
- 说明:是否调试模式(调试模式下会输出一些请求和响应日志)
- 默认:
false
4request(options, callback(err, body, res))
实现一个请求。同时该模块也是继承于 Stream 模块,因此可以适应 pipe
方法进行数据流传递。
request({
url: 'https://www.baidu.com/'
}, function(err, body, res) {
// ....
});
fromStream.pipe(request({url: 'https://www.baidu.com/'})).pipe(toStream);
4.1options
- 类型:
Object
- 说明:配置,覆盖
.defaults
4.2callback
- 类型:
Function
- 说明:响应回调
4.2.1callback: err
- 类型:
Error | Null
- 说明:错误,如果没有,则为
null
4.2.2callback: body
- 类型:
Object | String
- 说明:响应内容,如果是
HEAD
请求,则返回响应头对象(Object
),否则返回响应内容(String
)
4.2.3callback: res
- 类型:
Object
- 说明:响应对象
4.2.3.1callback: res.headers
- 类型:
Object
- 说明:响应头
4.2.3.2callback: res.statusCode
- 类型:
Number
- 说明:响应编码,如
200
4.2.3.3callback: res.cookies
- 类型:
Object
- 说明:响应的 cookie(来源于
set-cookie
响应头)
5Dependencies
- blear.classes.class
- blear.node.console
- blear.node.debug
- blear.utils.access
- blear.utils.function
- blear.utils.object
- blear.utils.typeis
- request