Node.js est un environnement de développement très populaire et son puissant moteur JavaScript peut fournir des applications Web efficaces. Dans le développement Web, des requêtes et des réponses HTTP sont souvent requises, ce qui nécessite l'utilisation de certains outils de requête HTTP. Cet article présentera principalement les outils de requête HTTP couramment utilisés dans Node.js.
1. Module HTTP intégré à Node.js
Node.js est livré avec un module HTTP natif, qui peut facilement créer un service HTTP. Dans le module HTTP, de nombreuses API de requête et de réponse associées sont fournies, impliquant la lecture des en-têtes et des corps de requête HTTP, la sortie des en-têtes et des corps de réponse de réponse, etc., qui sont très pratiques à utiliser. Voici un code qui utilise le module HTTP pour créer un serveur :
const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World!'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
2. Utilisez la demande de module tiers
Bien que Node.js ait un module HTTP intégré, son API est peut-être de trop bas niveau et pas très pratique à utiliser. Par conséquent, nous pouvons également choisir d’utiliser des modules tiers, comme le module de requête. Utilisez d'abord npm pour installer :
npm install request
Le module de requête fournit une API plus pratique qui peut rapidement compléter les requêtes HTTP et obtenir des données de réponse. Voici un exemple d'utilisation du module de requête pour envoyer une requête GET :
const request = require('request'); request('http://www.baidu.com', function (error, response, body) { console.error('error:', error); // Print the error if one occurred console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received console.log('body:', body); // Print the HTML for the Google homepage. });
3. Utilisez le module tiers axios
En plus du module de requête, il existe également un outil de requête HTTP très puissant - axios. Il s'agit d'un client HTTP basé sur Promise qui peut être utilisé dans le navigateur et Node.js. axios a les fonctionnalités suivantes :
Utilisez npm pour installer :
npm install axios
Ce qui suit est un exemple d'utilisation d'axios pour envoyer une requête GET :
const axios = require('axios') axios.get('https://api.github.com/users/johnny4120') .then(function (response) { console.log(response.data) }) .catch(function (error) { console.log(error) })
4. Traitement des paramètres de requête
Lors d'une requête, certains paramètres sont souvent apportés et différents modules sont traités. méthodes Également différentes. Lorsque vous utilisez le module de requête pour effectuer une requête, vous pouvez utiliser le module de chaîne de requête pour convertir l'objet en chaîne de paramètres de requête, ou vous pouvez utiliser directement les paramètres json. Par exemple :
const querystring = require('querystring'); const request = require('request'); const options = { url: 'https://www.google.com/search', qs: { q: 'node.js' } }; request(options, function(error, response, body) { console.log(body); }); // 或者 request.post({ url: 'http://www.example.com', json: {key: 'value'} }, function(error, response, body) { console.log(body); });
Lorsque vous utilisez le module axios, vous pouvez utiliser le paramètre params pour convertir l'objet en chaîne de requête, ou vous pouvez utiliser le paramètre data :
const axios = require('axios'); axios.get('https://api.github.com/search/repositories', { params: { q: 'node', sort: 'stars', order: 'desc' } }) .then(function (response) { console.log(response.data); }) .catch(function (error) { console.log(error); }); // 或者 axios.post('http://www.example.com', {foo: 'bar'}) .then(function (response) { console.log(response.data); }) .catch(function (error) { console.log(error); });
En résumé, il existe une variété d'outils de requête HTTP pour choisissez parmi Node.js, chacun a ses scénarios applicables. Choisir l'outil le plus approprié en fonction des besoins du projet rendra le développement plus efficace et plus pratique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!