nodejs 请求一个外部链接
2019-10-24 本文已影响0人
garyhu1
今天分享通过nodejs去请求一个外部链接。
主要很对get请求和post请求:
因为网站是http协议的,所以选择的是:
const http = require('http')
http.request(options[, callback])
GET
// GET 请求
get(options) {
return new Promise((resolve,reject) => {
let body = '';
// 发出请求
let req = http.request(options,(res) => {
res.on('data',(data) => {// 监听数据
body += data;
}).on("end", () => {
console.log("HTTP DATA >>",body)
resolve(JSON.parse(body));
})
});
req.on("error",(e) => {
console.log("HTTP ERROR >>",e)
reject(e)
});
//记住,用request一定要end,如果不结束,程序会一直运行。
req.end();
});
},
上面方法中的options
如下
let options = {
host: 'localhost',
port: '7002',
path: '/show',
method: 'GET',
headers:{
"Content-Type": 'application/json',
}
}
=======================================
POST
// POST请求
post(options,data) {
// let options = {
// host: 'localhost',
// port: '7002',
// path: '/update',
// method: 'POST',
// headers:{
// "Content-Type": 'application/json',
// "Content-Length": data.length
// }
// }
return new Promise((resolve,reject) => {
let body = '';
let req = http.request(options,(res) => {
res.on('data',(chuck) => {
body += chuck;
}).on('end', () => {
resolve(JSON.parse(body))
})
});
req.on('error',(e) => {
reject(e)
});
req.write(data);
req.end();
});
}
总结:
可以把上面方法封装在一个文件中,方便调用