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请求方法和get类似,在这里我主要在post请求中增加了请求头的内容,比如填入cookie,并且发送的参数格式会有所不同,代码如下:
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字符串的形式,同样返回的内容再处理一次。
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是请求成功之后的回调。