requête nodejs requête https

PHPz
Libérer: 2023-05-27 18:32:39
original
2050 Les gens l'ont consulté

Node.js est un environnement d'exécution JavaScript multiplateforme open source, très adapté au développement d'applications côté serveur. À mesure que les applications Web gagnent en popularité, les requêtes https sont devenues de plus en plus populaires. Faire des requêtes https dans Node.js est légèrement plus compliqué que les requêtes http, mais c'est facile à maîtriser. Cet article explique comment utiliser le module https pour lancer des requêtes https dans Node.js.

1. Requête https

HTTPS (HyperText Transfer Protocol Secure) est un protocole de communication HTTP sécurisé basé sur TLS/SSL pour une transmission cryptée. Le protocole HTTPS implémente la transmission cryptée des données et l'authentification du serveur, offrant ainsi une sécurité accrue aux applications Web.

Dans Node.js, nous pouvons utiliser les modules http et https pour lancer des requêtes http ou https. Si nous voulons faire une requête https, nous devons utiliser le module https. Pour faire une requête https dans Node.js, nous devons obtenir un certificat signé et le stocker localement. Lors des requêtes https, ce certificat doit être ajouté à une requête https, sinon nous ne pourrons pas nous connecter aux sites https. Voyons comment utiliser le module https pour effectuer des requêtes https.

2. Module https Node.js

Node.js fournit un module https simple, qui peut facilement lancer des requêtes https. Voici l'utilisation de base du module https :

const https = require('https');
https.get(url, (response) => {
    response.on('data', (data) => {
        console.log(data.toString());
    });
});
Copier après la connexion

Dans le code ci-dessus, nous présentons d'abord le module https fourni par Node.js, puis utilisons sa méthode get() pour lancer un https GET demande. Lorsque les données de réponse arrivent, nous pouvons écouter l'événement de données puis l'imprimer sur la console.

3. Lancer une requête https

Nous arrivons maintenant au point central de cet article, qui explique comment lancer une requête https dans Node.js. Voyons d’abord comment obtenir du contenu à partir d’un site https. J'utiliserai le module intégré Crypto de Node.js pour générer le fichier de certificat requis pour les requêtes https.

  1. Créer un fichier de certificat
const fs = require('fs');
const crypto = require('crypto');

// 创建证书文件
function createCertificateFile() {
    const cert = crypto.generateKeyPairSync('rsa', {
        modulusLength: 2048,
        publicKeyEncoding: {
            type: 'spki',
            format: 'pem'
        },
        privateKeyEncoding: {
            type: 'pkcs8',
            format: 'pem'
        }
    });

    fs.writeFileSync('cert.pem', cert.privateKey);
    fs.writeFileSync('key.pem', cert.publicKey);
}

createCertificateFile();
Copier après la connexion

Dans le code ci-dessus, nous utilisons le module intégré Node.js Crypto pour générer un 2048 bits Paire de clés de mot de passe RSA et stockez les clés privées et publiques dans le système de fichiers local. Ces fichiers seront utilisés pour la vérification de sécurité lors des requêtes https.

  1. Initier une requête https

Maintenant que nous avons préparé notre fichier de certificat, nous pouvons commencer à initier des requêtes https. Voici un exemple simple de requête https :

const https = require('https');
const fs = require('fs');

const options = {
    cert: fs.readFileSync('cert.pem'),
    key: fs.readFileSync('key.pem'),
    hostname: 'www.example.com',
    port: 443,
    path: '/',
    method: 'GET'
};

// 发起https请求
const req = https.request(options, (res) => {
    console.log('statusCode: ', res.statusCode);
    console.log('headers: ', res.headers);

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

req.on('error', (e) => {
    console.error(e);
});
req.end();
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord présenté le module https intégré et le module de système de fichiers de Node.js. Nous avons ensuite lu les fichiers de certificat stockés localement et les avons transmis dans les options de la requête https. Dans l'objet options, nous spécifions le nom d'hôte, le port, le chemin et la méthode de requête du site https auquel accéder. Par la suite, nous utilisons la méthode request() du module https pour lancer une requête https. Lorsque les données de réponse reviennent, nous pouvons écouter leur événement de données et imprimer les données sur la console.

Lors de l'utilisation du module https pour lancer une requête https, nous pouvons également transmettre des paramètres facultatifs tels que le proxy, le délai d'attente, le type de réponse, etc. Des informations détaillées sur les paramètres facultatifs sont disponibles dans la documentation Node.js.

4. Résumé

Dans cet article, nous avons appris à utiliser le module https pour lancer des requêtes https dans Node.js. Nous avons appris comment générer un fichier de certificat et comment l'utiliser pour effectuer des requêtes https. Avec ces contenus, nous pouvons facilement établir une communication réseau https sécurisée dans Node.js. Lors de l'utilisation du module https Node.js, nous devons faire attention à la sélection des certificats et à la configuration de l'authentification de sécurité pour garantir la sécurité et la confidentialité des données.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!