2019-01-15 14:53:41 530浏览
今天扣丁学堂HTML5培训老师给大家介绍一下关于在Node.js中发起HTTP请求的5种方法详解,首先创建HTTP请求使现代编程语言的核心功能之一,也是很多程序员在接触到新的开发环境时最先遇到的技术之一。在Node.js中有相当多的解决方案,其中有语言内置功能,也有开源社区贡献的开发库。下面咱们来看一下比较流行的几种方式。
const https = require('https'); https.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', (resp) => { let data = ''; // A chunk of data has been recieved. resp.on('data', (chunk) => { data += chunk; }); // The whole response has been received. Print out the result. resp.on('end', () => { console.log(JSON.parse(data).explanation); }); }).on("error", (err) => { console.log("Error: " + err.message); });
npm install request@2.81.0
const request = require('request'); request('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', { json: true }, (err, res, body) => { if (err) { return console.log(err); } console.log(body.url); console.log(body.explanation); });
npm install axios@0.16.2
const axios = require('axios'); axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY') .then(response => { console.log(response.data.url); console.log(response.data.explanation); }) .catch(error => { console.log(error); });
var axios = require('axios'); axios.all([ axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-03'), axios.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2017-08-02') ]).then(axios.spread((response1, response2) => { console.log(response1.data.url); console.log(response2.data.url); })).catch(error => { console.log(error); });
npm install superagent@3.5.2
const superagent = require('superagent'); superagent.get('https://api.nasa.gov/planetary/apod') .query({ api_key: 'DEMO_KEY', date: '2017-08-02' }) .end((err, res) => { if (err) { return console.log(err); } console.log(res.body.url); console.log(res.body.explanation); });
npm install got@7.1.0
const got = require('got'); got('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', { json: true }).then(response => { console.log(response.body.url); console.log(response.body.explanation); }).catch(error => { console.log(error.response.body); });
【关注微信公众号获取更多学习资料】