1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 在node中使用request模块和superagent请求接口

在node中使用request模块和superagent请求接口

时间:2024-04-30 01:30:45

相关推荐

在node中使用request模块和superagent请求接口

1.通过request请求接口

首先是get请求的使用,如下:

request({url: 'address',method: 'GET'//get大小写都可以}, (err, res, data) => {if (err) {console.log(err)} else {const obj = JSON.parse(data);}})

这里的回调有三个参数,第一个是错误信息,第二个是响应信息的集合,第三个是返回的信息,并且data返回的是json字符串,需要通过JSON.parse处理一下。

post请求方法根据content-type的不同又有所区别

POST application/json

request({url: 'address',method: 'POST',headers: {'content-type': 'application/json','Cookie': 'cookie'},body: JSON.stringify({cate_id: '6809637767543259144' }),},(err, res, data) => {if (err) {console.log(err);} else {const obj = JSON.parse(data);}});

这里通过填写headers的信息来实现有登录权限来请求接口,需要发送的参数是放在body中,并且需要处理成JSON字符串的形式,同样返回的内容再处理一次。

POST application/x-www-form-urlencoded

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

POST multipart/form-data

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

2.通过superagent来访问接口

之前只是用来写脚本时会用到superagent的请求一些页面,后来发现也可以通过它来请求接口,实现request同样的功能,并且用起来也是很方便的。

首先来看get请求写法,如下:

superagent.get('address').end((req, res) => {console.log(res.text)})

还是很方便的,end方法就是请求成功之后的回调,需要注意的是它的返回值内容都是放在res.text中的。

再看post请求接口,如下:

superagent.post('address').set('Cookie','cookie').send({key: value }).end((req, res) => {let obj = JSON.parse(res.text);});

需要带cookie请求的,可以通过set方法来种植cookie,send方法是要传递的参数,end是请求成功之后的回调。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。