Node.js ialah rangka kerja pembangunan berdasarkan I/O tak segerak dipacu peristiwa, yang ringan, cekap dan berskala. Ia membolehkan JavaScript berjalan di bahagian pelayan, membenarkan pembangun menggunakan bahasa yang sama untuk membangunkan aplikasi bahagian hadapan dan belakang, dengan itu menghapuskan kos penukaran dan pembelajaran bahasa yang menyusahkan.
Dalam Node.js, kami boleh mensimulasikan permintaan pelanggan dengan mudah dan menguji antara muka dan fungsi sisi pelayan untuk memastikan ia boleh mengendalikan dan membalas permintaan dengan betul. Seterusnya, kami akan menerangkan secara terperinci cara menggunakan Node.js untuk mensimulasikan permintaan klien.
1. Gunakan modul http untuk menghantar permintaan HTTP
Modul http ialah modul yang disertakan dengan Node.js dan boleh digunakan untuk menghantar permintaan HTTP. Langkah-langkah untuk menggunakan modul http untuk mensimulasikan permintaan pelanggan adalah seperti berikut:
1 Perkenalkan modul http
const http = require('http');
2. . Tetapkan parameter permintaan
Sebelum menetapkan parameter permintaan, beberapa konsep perlu dijelaskan:
Contoh kod untuk menetapkan parameter permintaan:
pilihan const = {
kaedah: 'POST', // Kaedah permintaan
nama hos: 'localhost', // Nama hos yang diminta
port: 3000, // Nombor port yang diminta
laluan: '/api/user', // Laluan yang diminta
pengepala: { // Pengepala permintaan
'Content-Type': 'application/json', 'Content-Length': data.length
}
};
3 Hantar permintaan
Selepas menetapkan parameter permintaan, anda boleh menggunakan kaedah permintaan modul http untuk menghantar contoh kod adalah seperti berikut:
const req = http.request(options, (res) => {
console.log(状态码:${res.statusCode}
);
console.log(响应头:${JSON.stringify(res.headers)}
);
res. setEncoding('utf8') ;
res.on('data', (chunk) => {
console.log(`响应主体:${chunk}`);
});
res.on('end', () => ; {
console.log('响应结束。');
});
});
4. Memproses respons
Apabila pelayan menerima permintaan, ia akan mengembalikan hasil respons. Kami boleh mengendalikan hasil respons dalam fungsi panggil balik kaedah permintaan. Secara umumnya, hasil respons akan mengandungi tiga bahagian: kod status, pengepala respons dan badan respons. Kita boleh mendapatkan maklumat ini melalui objek res. Contoh kod adalah seperti berikut:
req.on('error', (e) => {
console.error(请求遇到问题:${e.message}
);
});
//Tulis data ke dalam badan permintaan
req.write(data);
//Tamatkan permintaan
req.end();
2. Gunakan modul permintaan untuk menghantar permintaan HTTP
Selain menggunakan modul http untuk menghantar permintaan HTTP, kami juga boleh menggunakan permintaan modul pihak ketiga untuk menghantar permintaan HTTP. Ia adalah modul sumber terbuka yang ringkas dan mudah yang boleh mensimulasikan permintaan pelanggan dan mendapatkan hasil tindak balas. Langkah-langkah untuk menggunakan modul permintaan untuk menghantar permintaan HTTP adalah seperti berikut:
1 Pasang modul permintaan
permintaan pemasangan npm
2 >
const request = require('request');3. Tetapkan parameter permintaan Sama seperti modul http, modul permintaan juga perlu menetapkan parameter permintaan. Parameter permintaannya ialah:const options = {
kaedah : 'POST',
url: 'http://localhost:3000/api/user',
pengepala: {
'Content-Type': 'application/json'
badan: postData,
json : true
};
permintaan(pilihan, fungsi (ralat, tindak balas, badan) {
jika (ralat) buang Ralat(ralat);
console.log(response.body);
});
const app = express();
app.get('/', function (req , res ) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Aplikasi telah bermula, Alamat ialah http://localhost:3000');
});
permintaan(aplikasi)
.get('/')
.expect(200)
.end(function (err, res) {
if (err) throw err; console.log(res.text);
Dalam contoh ini, kami memanggil kaedah dapatkan pustaka SuperTest untuk memulakan permintaan GET, yang akan secara automatik mensimulasikan permintaan HTTP dan mendapatkan hasil respons. Kaedah jangkaan digunakan untuk mengesahkan hasil respons HTTP Jika hasil respons tidak konsisten dengan apa yang dijangkakan, pengecualian akan dilemparkan. Kaedah akhir ialah kaedah penamatan ujian.
Ringkasan
Artikel ini memperkenalkan tiga cara biasa untuk mensimulasikan permintaan pelanggan menggunakan Node.js. Modul http dan modul permintaan adalah kedua-dua modul yang disertakan dengan Node.js. Mereka boleh mensimulasikan permintaan HTTP dan mendapatkan hasil tindak balas. Pustaka SuperTest ialah perpustakaan ujian berdasarkan SuperAgent yang menyediakan API mesra untuk menguji antara muka HTTP. Berdasarkan keperluan projek sebenar, kami boleh memilih kaedah yang sesuai dengan kami untuk mensimulasikan permintaan pelanggan.
Atas ialah kandungan terperinci Cara nodejs mensimulasikan permintaan pelanggan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!