Rumah  >  Artikel  >  hujung hadapan web  >  nodejs meminta permintaan https

nodejs meminta permintaan https

PHPz
PHPzasal
2023-05-27 18:32:392025semak imbas

Node.js ialah persekitaran masa jalan JavaScript merentas platform sumber terbuka yang sangat sesuai untuk pembangunan aplikasi sebelah pelayan. Memandangkan aplikasi web semakin popular, permintaan https telah menjadi semakin popular. Membuat permintaan https dalam Node.js adalah lebih rumit sedikit daripada permintaan http, tetapi ia mudah untuk dikuasai. Artikel ini akan memperkenalkan cara menggunakan modul https untuk memulakan permintaan https dalam Node.js.

1. Permintaan https

HTTPS (HyperText Transfer Protocol Secure) ialah protokol komunikasi HTTP selamat berdasarkan TLS/SSL untuk penghantaran yang disulitkan. Protokol HTTPS melaksanakan penghantaran data yang disulitkan dan pengesahan pelayan, memberikan keselamatan yang lebih tinggi untuk aplikasi web.

Dalam Node.js, kami boleh menggunakan modul http dan https untuk memulakan permintaan http atau https. Jika kita ingin membuat permintaan https, kita perlu menggunakan modul https. Untuk membuat permintaan https dalam Node.js, kami perlu mendapatkan sijil yang ditandatangani dan menyimpannya secara setempat. Apabila membuat permintaan https, sijil ini perlu dilampirkan pada permintaan https, jika tidak, kami tidak akan dapat menyambung ke tapak https. Mari kita lihat cara menggunakan modul https untuk membuat permintaan https.

2. Modul Node.js https

Node.js menyediakan modul https yang mudah, yang boleh memulakan permintaan https dengan mudah. Berikut ialah penggunaan asas modul https:

const https = require('https');
https.get(url, (response) => {
    response.on('data', (data) => {
        console.log(data.toString());
    });
});

Dalam kod di atas, kami mula-mula memperkenalkan modul https yang disediakan oleh Node.js, dan kemudian menggunakan kaedah get()nya untuk memulakan permintaan https GET. Apabila data respons tiba, kita boleh mendengar peristiwa data dan kemudian mencetaknya ke konsol.

3 Mulakan permintaan https

Sekarang kita sampai kepada fokus artikel ini, iaitu cara untuk memulakan permintaan https dalam Node.js. Mula-mula, mari kita lihat cara mendapatkan kandungan daripada tapak https. Saya akan menggunakan modul terbina dalam Node.js Crypto untuk menjana fail sijil yang diperlukan untuk permintaan https.

  1. Buat fail sijil
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();

Dalam kod di atas, kami menggunakan modul terbina dalam Node.js Crypto untuk menjana pasangan kunci RSA 2048-bit dan menambah private Kunci dan kunci awam disimpan dalam sistem fail tempatan. Fail ini akan digunakan untuk pengesahan keselamatan apabila membuat permintaan https.

  1. Mulakan permintaan https

Sekarang kami telah menyediakan fail sijil kami, kami boleh mula memulakan permintaan https. Berikut ialah contoh permintaan https yang mudah:

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();

Dalam kod di atas, kami mula-mula memperkenalkan modul https terbina dalam dan modul sistem fail Node.js. Kami kemudian membaca fail sijil yang disimpan secara tempatan dan menyerahkannya ke dalam pilihan permintaan https. Dalam objek pilihan, kami menentukan nama hos, port, laluan dan kaedah permintaan tapak https untuk diakses. Selepas itu, kami menggunakan kaedah request() modul https untuk memulakan permintaan https. Apabila data respons kembali, kita boleh mendengar peristiwa datanya dan mencetak data ke konsol.

Apabila menggunakan modul https untuk memulakan permintaan https, kami juga boleh menghantar parameter pilihan seperti proksi, tamat masa, jenis respons, dsb. Maklumat parameter pilihan terperinci boleh didapati dalam dokumentasi Node.js.

4. Ringkasan

Dalam artikel ini, kami telah mempelajari cara menggunakan modul https untuk memulakan permintaan https dalam Node.js. Kami telah mempelajari cara menjana fail sijil dan cara menggunakannya untuk membuat permintaan https. Dengan kandungan ini, kami boleh membuat komunikasi rangkaian https selamat dengan mudah dalam Node.js. Apabila menggunakan modul https Node.js, kita perlu memberi perhatian kepada pemilihan sijil dan konfigurasi pengesahan keselamatan untuk memastikan keselamatan dan kerahsiaan data.

Atas ialah kandungan terperinci nodejs meminta permintaan https. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn