Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1248035
  • 博文数量: 1096
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11060
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-07 15:17
个人简介

linux工程师,RHCE

文章分类

全部博文(1096)

文章存档

2023年(84)

2022年(314)

2021年(251)

2020年(244)

2019年(176)

2018年(27)

我的朋友

分类: 系统运维

2023-03-28 10:22:37

在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候,就需要发送HTTP请求了。有一个简单的工具可以用, Simplified HTTP request client,可以比较方便的模拟请求。

nodejs使用request发送http请求nodejs使用request发送http请求
在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候,就需要发送HTTP请求了。有一个简单的工具可以用, Simplified HTTP request client,可以比较方便的模拟请求

安装
npm install --save request
使用

{BANNED}最佳简单的GET请求,用法如下:

var request = require('request');
request('', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the baidu homepage.
  }
})
 

POST application/json

request({
    url: url,
    method: "POST",
    json: true,
    headers: {
        "content-type": "application/json",
    },
    body: JSON.stringify(requestData)
}, function(error, response, body) {
    if (!error && response.statusCode == 200) {
    }
});
 

POST application/x-www-form-urlencoded

request.post({url:'', form:{key:'value'}}, function(error, response, body) {
    if (!error && response.statusCode == 200) {
    }
})

POST multipart/form-data

var formData = {
    // Pass a simple key-value pair
    my_field: 'my_value',
    // Pass data via Buffers
    my_buffer: new Buffer([1, 2, 3]),
    // Pass data via Streams
    my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:'', formData: formData}, function (error, response, body) {  
    if (!error && response.statusCode == 200) {
    }
})

如上所示,formData可以直接放key-value格式的数据,也可以放buffer,或者是通过流描述的文件。


本文地址:

阅读(493) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~