Rumah hujung hadapan web Soal Jawab bahagian hadapan nodejs memulakan permintaan https

nodejs memulakan permintaan https

May 23, 2023 pm 02:23 PM

Node.js ialah persekitaran berjalan Javascript yang popular dengan ciri yang pantas, cekap dan dipacu acara. Dalam Node.js, permintaan HTTP dan HTTPS boleh dimulakan dengan mudah menggunakan modul http dan https terbina dalam. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk memulakan permintaan HTTPS.

1. Modul https dalam Node.js

Dalam Node.js, anda boleh menggunakan modul https terbina dalam untuk memulakan permintaan HTTPS. Modul https menyediakan antara muka yang serupa dengan modul http, yang boleh mendapatkan data daripada pelayan HTTPS dengan menghantar permintaan HTTP.

Sebelum menggunakan modul https, anda perlu menggunakan kaedah memerlukan untuk memperkenalkan modul https:

const https = require('https');

2 permintaan HTTPS

Untuk memulakan permintaan HTTPS, kita perlu menggunakan fungsi https.request(options, callback). Parameter pilihan ialah objek yang mengandungi maklumat yang diperlukan untuk memulakan permintaan, seperti URL yang diminta, kaedah yang diminta, pengepala permintaan, dsb. Parameter panggil balik ialah fungsi yang digunakan untuk mengendalikan respons pelayan. Fungsi ini mempunyai satu parameter, iaitu objek tindak balas pelayan.

Berikut ialah model asas untuk memulakan permintaan 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();
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi https.request(options, callback) untuk memulakan permintaan HTTPS. Kami menetapkan URL yang diminta kepada example.com, kaedah permintaan kepada GET dan Jenis Kandungan dalam pengepala permintaan kepada application/json.

Apabila pelayan membalas, kami memproses respons pelayan melalui fungsi panggil balik. Mula-mula kami akan mengeluarkan kod status pelayan, dan kemudian menggunakan kaedah process.stdout.write untuk mengeluarkan data ke konsol apabila menerima data.

3. Parameter pilihan permintaan HTTPS

Dalam bahagian sebelumnya, kami menyebut bahawa parameter pilihan diperlukan untuk memulakan permintaan HTTPS. Parameter pilihan ialah objek yang mengandungi maklumat permintaan Atribut paling asas ialah:

  • nama hos: nama hos yang diminta
  • port: nombor port yang diminta, umumnya protokol HTTPS Nombor port. ialah 443
  • laluan: laluan permintaan, iaitu lokasi sumber yang diminta dalam pelayan, seperti /albums
  • kaedah: kaedah permintaan, yang biasa digunakan ialah GET dan POST
  • pengepala: Minta pengepala, termasuk beberapa maklumat klien, seperti Terima, Ejen Pengguna, Jenis Kandungan, dll.

Berikut ialah contoh pilihan yang lengkap parameter:

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'
  }
};
Salin selepas log masuk

Objek pilihan ini menunjukkan bahawa permintaan POST dimulakan ke port 443 example.com Laluan permintaan ialah /albums Pengepala permintaan mengandungi tiga atribut: Content-Type, Content-Length dan User -Ejen.

4. Memproses respons HTTPS

Apabila permintaan HTTPS dimulakan, pelayan akan mengembalikan objek respons, yang melaluinya kami boleh mendapatkan respons pelayan. Objek tindak balas ialah aliran yang boleh dibaca Kita boleh menggunakan kaedah on() untuk mendengar data dan acara tamat untuk mendapatkan data yang dikembalikan oleh pelayan.

Berikut ialah contoh pemprosesan respons 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();
Salin selepas log masuk

Dalam contoh ini, kami menentukan sama ada permintaan itu berjaya berdasarkan kod status (statusCode) respons HTTP. Dalam fungsi panggil balik data, kami menggunakan operator += untuk menggabungkan setiap bongkah data menjadi data respons yang lengkap. Apabila semua data diterima, kami menggunakan console.log untuk mengeluarkan data respons yang lengkap.

5. Permintaan HTTPS yang disulitkan

HTTPS ialah protokol HTTP selamat berdasarkan protokol TLS/SSL Ia menggunakan penyulitan kunci awam dan penyahsulitan kunci peribadi untuk melindungi keselamatan data. Dalam Node.js, menggunakan modul https untuk memulakan permintaan HTTPS adalah menggunakan protokol HTTPS yang selamat.

Jika pelayan menggunakan sijil yang ditandatangani sendiri, maka kami perlu menetapkan atribut rejectUnauthorized kepada false dalam objek pilihan, seperti yang ditunjukkan di bawah:

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
};
Salin selepas log masuk

Seperti yang anda lihat, kami menambah rejectUnauthorized dalam objek pilihan: atribut palsu. Pilihan ini digunakan untuk menerima sijil yang tidak ditandatangani Jika tidak ditetapkan, ralat akan dilaporkan apabila pelayan menggunakan sijil yang tidak ditandatangani.

6. Ringkasan

Artikel ini memperkenalkan cara menggunakan modul https terbina dalam dalam Node.js untuk memulakan permintaan HTTPS. Kami membuat permintaan melalui fungsi https.request(options, callback), menggunakan parameter pilihan untuk menetapkan maklumat permintaan dan menggunakan parameter panggil balik untuk memproses respons pelayan. Pada masa yang sama, kami memperkenalkan cara memastikan keselamatan penyulitan data semasa memproses permintaan HTTPS.

Modul https terbina dalam Node.js menyediakan cara yang mudah untuk memulakan permintaan HTTPS dengan mudah boleh mendapatkan atau menyerahkan data semasa pembangunan, membolehkan kami membangunkan aplikasi dengan lebih cekap.

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

Kenyataan Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terangkan konsep pemuatan malas. Terangkan konsep pemuatan malas. Mar 13, 2025 pm 07:47 PM

Terangkan konsep pemuatan malas.

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Mar 19, 2025 pm 03:58 PM

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan?

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Mar 18, 2025 pm 01:44 PM

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula?

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Mar 18, 2025 pm 01:45 PM

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya?

Bagaimanakah algoritma Rekonsiliasi React berfungsi? Bagaimanakah algoritma Rekonsiliasi React berfungsi? Mar 18, 2025 pm 01:58 PM

Bagaimanakah algoritma Rekonsiliasi React berfungsi?

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Mar 19, 2025 pm 03:59 PM

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen?

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Mar 19, 2025 pm 04:10 PM

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara?

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Mar 19, 2025 pm 04:16 PM

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal?

See all articles