美文网首页node
node-request模块

node-request模块

作者: Veb | 来源:发表于2018-01-16 18:16 被阅读122次

node中,http模块也可作为客户端使用(发送请求),第三方模块request对其使用方法进行了封装,操作更方便!所以来介绍一下request模块

1.安装request模块
cnpm install request --save

基本形式

request(options,callback)

1.1简单示例

var request = require('request');
request('https://www.baidu.com', function (error, response, body) {
       console.log(body)//打印百度首页html内容
})

or

request({url:'https://www.baidu.com'}, function (error, response, body) {
       console.log(body)//打印百度首页html内容
})

2.结合文件流

进行网络爬虫的时候,有时我们需要保存图片、js、css等文件,request支持文件流

request('https://www.baidu.com/img/bd_logo1.png').pipe(fs.createWriteStream('a.png'))
//抓取百度logo并保存到本地

也可以将文件传给PUT或POST请求,用于文件上传。未提供header的情况下,会检测文件后缀名,在PUT请求中设置相应的content-type。

fs.createReadStream('pic.jpg').pipe(request.put('http://veb.com/upload'))
//读取流pipe上传

3.表单上传
request.post('http://service.com/upload', {form:{key:'value'}})

or

request.post('http://service.com/upload').form({key:'value'})

formData形式

var r = request.post('http://veblen.com/upload')
var form = r.form()
form.append('my_field', 'my_value')
form.append('my_buffer', new Buffer([1, 2, 3]))
form.append('my_file', fs.createReadStream(path.join(__dirname, 'doodle.png'))
form.append('remote_file', request('https://www.baidu.com/img/bd_logo1.png'))

附上nodejs重定向(跟request没关系)

res.writeHead(302, {
    'Location': 'https://www.baidu.com'
    //add other headers here...
});
res.end();

相关文章

  • node-request模块

    node中,http模块也可作为客户端使用(发送请求),第三方模块request对其使用方法进行了封装,操作更方便...

  • request相关问题

    使用node-request时遇到了些问题,记录一下。 一个有意思的api:carelessresponse.ca...

  • python常用模块!!

    os模块: stat模块: sys模块: hashlib,md5模块: random模块: types模块: at...

  • 2018-08-19

    Angular 2 技能图谱 模块 自定义模块 根模块 特性模块 共享模块 核心模块 内置模块 Applicati...

  • 【时间管理100讲】精髓全在这里啦

    理论模块 精力管理。 行动管理。 学习模块。 高空模块。 反思模块。 运动模块。 阅读模块。 旅行模块。 人际关系...

  • python基础学习(三)

    常用模块 String模块 数学模块 随机模块 OS模块 os.path模块 re模块 常用函数及操作 列表操作 ...

  • day10-异常处理和pygame显示

    一、异常处理 1.模块 导入模块(自定义模块,第三方模块)import 模块 ---->模块.内容from 模块 ...

  • 重点知识复习(异常处理)

    1.模块 导入模块(自定义模块,第三方模块,系统其他模块)import 模块 ----> 模块.内容from 模...

  • Python常用模块

    Python常用模块之time模块 Python常用模块之os模块 Python常用模块之sys模块 Python...

  • nodejs-模块

    nodejs模块 一、nodejs模块分类 1.核心模块 Core Module、内置模块、原生模块 fs模块 p...

网友评论

    本文标题:node-request模块

    本文链接:https://www.haomeiwen.com/subject/wmqeoxtx.html