Maison > interface Web > Questions et réponses frontales > demande de requête nodejs

demande de requête nodejs

PHPz
Libérer: 2023-05-08 09:58:38
original
1277 Les gens l'ont consulté

Node.js est un environnement d'exécution JavaScript basé sur le moteur Chrome V8, qui facilite la création d'applications Web hautes performances et évolutives. Parmi eux, le module de requête est un module de requête réseau très couramment utilisé dans Node.js. Il nous permet d'envoyer des requêtes HTTP/HTTPS dans Node.js. Cet article expliquera comment utiliser le module de requête et comment traiter les données renvoyées par la requête.

1. Installez le module de requête

Avant d'utiliser le module de requête, vous devez d'abord installer le module de requête. Entrez simplement la commande suivante dans la console :

$ npm install request --save
Copier après la connexion

Cela installera le module de requête dans votre projet et l'ajoutera au fichier package.json.

2. Envoyer une requête GET

Envoyer une requête GET est très simple, il suffit d'utiliser la méthode de requête du module de requête. Voici un exemple simple :

const request = require('request');

request('https://api.github.com/users/octocat', (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('body:', body);
});
Copier après la connexion

Cet exemple enverra une requête GET à l'API utilisateur de GitHub pour interroger les informations utilisateur avec le nom d'utilisateur octocat. La manière d'envoyer une requête est très simple. Il vous suffit d'appeler la méthode de requête et de transmettre l'URL demandée.

Les paramètres de la fonction de rappel sont respectivement erreur, réponse et corps. Parmi eux, l'erreur représente une erreur de demande ; la réponse représente un objet de réponse, qui contient des informations telles que des en-têtes de réponse et des codes de réponse, qui représentent le corps de la réponse, qui est les données renvoyées par l'API ;

3. Envoyer une requête POST

L'envoi d'une requête POST est également très simple. Il vous suffit de définir le deuxième paramètre (c'est-à-dire les options) de la méthode de requête sur les informations de requête spécifiques. Voici un exemple d'utilisation de la méthode POST pour ajouter un dépôt nommé test à l'API GitHub :

const request = require('request');

const options = {
  url: 'https://api.github.com/user/repos',
  headers: {
    'User-Agent': 'request'
  },
  json: true,
  body: {
    name: 'test'
  },
  auth: {
    'user': 'username',
    'pass': 'password'
  }
};

request.post(options, (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('body:', body);
});
Copier après la connexion

Dans cet exemple, nous définissons l'URL sur https://api.github.com/user/repos, qui est celle de GitHub. API pour créer un entrepôt. Les en-têtes incluent User-Agent, indiquant que la demande a été envoyée par demande. Body correspond aux données que nous voulons envoyer, qui est le nom du dépôt que nous voulons créer sur GitHub. Si json est défini sur true, cela signifie que les données envoyées sont au format JSON. auth signifie qu'une authentification est requise, y compris le nom d'utilisateur et le mot de passe.

4. Traiter les données de réponse

Après l'envoi de la demande, nous devons traiter les données de réponse. Pour les données au format JSON, elles peuvent être analysées directement dans des objets JavaScript. Voici un exemple d'analyse des données JSON renvoyées par l'API GitHub dans un objet JavaScript :

const request = require('request');

request('https://api.github.com/users/octocat', {json: true}, (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('login:', body.login);
  console.log('name:', body.name);
});
Copier après la connexion

Dans cet exemple, nous définissons json dans les options sur true, ce qui signifie que lors de la réception des données de réponse, elles sont automatiquement analysées en JSON. et converti en un objet JavaScript. Dans la fonction de rappel, nous pouvons accéder directement aux propriétés login et name dans le corps de la réponse.

Pour les données dans d'autres formats, nous pouvons utiliser la bibliothèque d'analyse correspondante pour l'analyse. Par exemple, pour les données au format HTML, vous pouvez utiliser la bibliothèque cheerio pour l'analyse. Voici un exemple d'utilisation de cheerio pour analyser les résultats de recherche Baidu :

const request = require('request');
const cheerio = require('cheerio');

request('https://www.baidu.com/s?wd=nodejs', (error, response, body) => {
  const $ = cheerio.load(body);
  $('h3.t a').each((i, el) => {
    console.log($(el).text());
    console.log($(el).attr('href'));
  });
});
Copier après la connexion

Dans cet exemple, nous avons demandé les résultats du mot-clé de recherche Baidu nodejs via une requête. Utilisez la méthode de chargement de cheerio pour convertir les données HTML en un objet DOM manipulable. Ensuite, nous sélectionnons l'élément h3.t a via le sélecteur et parcourons chaque élément. À l'intérieur de la boucle, nous enveloppons l'élément avec $() pour obtenir facilement les valeurs du texte et des attributs href de l'élément.

5. Résumé

Ce qui précède est la méthode de base pour envoyer des requêtes HTTP/HTTPS à l'aide du module de requête de Node.js. Grâce à ce module, nous pouvons facilement envoyer des requêtes GET, POST, etc. et traiter les données renvoyées par la requête. Bien que ce module soit très pratique, vous devez porter une attention particulière à la sécurité lors de son utilisation, notamment lors de l'envoi d'une requête POST, les paramètres de la requête doivent être cryptés.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal