Maison  >  Article  >  interface Web  >  outil de requête http nodejs

outil de requête http nodejs

王林
王林original
2023-05-08 19:32:35617parcourir

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 :

  1. Peut intercepter les requêtes et les réponses.
  2. Convertissez automatiquement les données JSON.
  3. Demande d'annulation de prise en charge.
  4. Vous pouvez définir des en-têtes de requête et des paramètres de requête par défaut.
  5. Plus fiable et léger.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn