Maison  >  Article  >  interface Web  >  nodejs lance la requête https

nodejs lance la requête https

WBOY
WBOYoriginal
2023-05-23 14:23:072585parcourir

Node.js est un environnement d'exécution Javascript populaire, rapide, efficace et piloté par les événements. Dans Node.js, les requêtes HTTP et HTTPS peuvent être facilement lancées à l'aide des modules http et https intégrés. Cet article explique comment utiliser Node.js pour lancer des requêtes HTTPS.

1. Module https dans Node.js

Dans Node.js, vous pouvez utiliser le module https intégré pour lancer des requêtes HTTPS. Le module https fournit une interface similaire au module http, qui peut obtenir des données d'un serveur HTTPS en envoyant des requêtes HTTP.

Avant d'utiliser le module https, vous devez utiliser la méthode require pour introduire le module https :

const https = require('https');

# 🎜🎜# 2. Lancer une requête HTTPS

Pour lancer une requête HTTPS, nous devons utiliser la fonction https.request(options, callback). Le paramètre options est un objet qui contient les informations nécessaires pour lancer une requête, telles que l'URL demandée, la méthode demandée, l'en-tête de la requête, etc. Le paramètre de rappel est une fonction utilisée pour gérer la réponse du serveur. Cette fonction a un paramètre, qui est l'objet de réponse du serveur.

Voici le modèle de base pour lancer des requêtes HTTPS :

const https = require('https');

const options = {
  // 请求的URL
  hostname: 'example.com',

  // 请求的方法,默认是GET
  method: 'GET',

  // 请求的头信息
  headers: {
    'Content-Type': 'application/json'
  }
};

const req = https.request(options, res => {
  console.log(`状态码: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d);
  });
});

req.on('error', error => {
  console.error(error);
});

req.end();

Dans cet exemple, nous utilisons la fonction https.request(options, callback) pour lancer une requête HTTPS. Nous définissons l'URL demandée sur example.com, la méthode de requête sur GET et le Content-Type dans l'en-tête de la requête sur application/json.

Après la réponse du serveur, nous traitons la réponse du serveur via la fonction de rappel. Nous allons d'abord afficher le code d'état du serveur, puis utiliser la méthode process.stdout.write pour afficher les données sur la console lors de la réception des données.

3. Paramètres d'options des requêtes HTTPS

Dans la section précédente, nous avons mentionné que les paramètres d'options sont requis pour lancer des requêtes HTTPS. Le paramètre options est un objet contenant les informations de la requête. Les attributs les plus basiques sont :

    hostname : le nom d'hôte demandé
  • port : le numéro de port demandé, généralement. Dans ce cas, le numéro de port du protocole HTTPS est 443
  • path : le chemin demandé, c'est-à-dire l'emplacement de la ressource demandée sur le serveur, comme /albums
  • #🎜 🎜#method : la méthode demandée, les méthodes couramment utilisées sont GET et POST
  • headers : en-têtes de requête, y compris certaines informations client, telles que Accept, User-Agent, Content-Type, etc.#🎜🎜 #
  • Voici un exemple de paramètre d'options complet :
  • const options = {
      hostname: 'example.com',
      port: 443,
      path: '/albums',
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Content-Length': data.length,
        'User-Agent': 'Mozilla/5.0'
      }
    };
Cet objet d'options indique qu'une requête POST est lancée sur le port 443 de example.com. est /albums. L'en-tête de la requête contient Content-Type, Content-Length et User-Agent a trois attributs.

4. Traitement de la réponse HTTPS

Lorsque la requête HTTPS est lancée, le serveur renverra un objet de réponse, grâce auquel nous pourrons obtenir la réponse du serveur. L'objet de réponse est un flux lisible. Nous pouvons utiliser la méthode on() pour écouter les données et terminer les événements afin d'obtenir les données renvoyées par le serveur.

Ce qui suit est un exemple de traitement d'une réponse HTTPS :

const req = https.request(options, res => {
  let data = '';

  console.log(`状态码: ${res.statusCode}`);

  res.on('data', chunk => {
    data += chunk;
  });

  res.on('end', () => {
    console.log('响应数据: ');
    console.log(data);
  });
});

req.on('error', error => {
  console.error(`请求发生错误:${error}`);
});

req.end();

Dans cet exemple, nous déterminons si la requête est réussie en fonction du code d'état (statusCode) du HTTP réponse. Dans la fonction de rappel de réception de données, nous utilisons l'opérateur += pour concaténer chaque bloc de données en données de réponse complètes. Lorsque toutes les données sont reçues, nous utilisons console.log pour afficher les données de réponse complètes.

5. Requête HTTPS cryptée

HTTPS est un protocole HTTP sécurisé basé sur le protocole TLS/SSL. Il utilise le cryptage par clé publique et le déchiffrement par clé privée pour protéger la sécurité des données. Dans Node.js, l'utilisation du module https pour lancer une requête HTTPS utilise le protocole HTTPS sécurisé.

Si le serveur utilise un certificat auto-signé, alors nous devons définir l'attribut rejetUnauthorized sur false dans l'objet options, comme indiqué ci-dessous :

const options = {
  hostname: 'example.com',
  port: 443,
  path: '/albums',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    'User-Agent': 'Mozilla/5.0'
  },
  rejectUnauthorized: false
};

Comme vous pouvez le voir , nous sommes dans l'objet options Ajout de l'attribut rejetUnauthorized: false. Cette option est utilisée pour accepter les certificats non signés. Si elle n'est pas définie, une erreur sera signalée lorsque le serveur utilise des certificats non signés.

6. Résumé

Cet article explique comment utiliser le module https intégré dans Node.js pour lancer des requêtes HTTPS. Nous effectuons des requêtes via la fonction https.request(options, callback), utilisons les paramètres d'options pour définir les informations de la demande et utilisons les paramètres de rappel pour traiter la réponse du serveur. Dans le même temps, nous avons présenté comment garantir la sécurité du cryptage des données lors du traitement des requêtes HTTPS.

Le module https intégré de Node.js fournit un moyen pratique de lancer des requêtes HTTPS. Il peut facilement obtenir ou soumettre des données pendant le développement, nous permettant ainsi de développer des applications plus efficacement.

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
Article précédent:Nodejs construit la blockchainArticle suivant:Nodejs construit la blockchain