Rumah > Artikel > hujung hadapan web > Buat proksi dalam Node.js
Anda boleh mencipta contoh ejen dalam Node.js menggunakan kaedah Agent() baharu. Kaedah http.request() mencipta contoh http.Agent tersuai menggunakan globalAgent daripada modul "http".
new Agent({options})
Fungsi di atas boleh menerima Parameter−
Options berikut - Pilihan ini akan mengandungi pilihan yang boleh dikonfigurasikan yang boleh ditetapkan pada Berikut ialah medan/pilihan yang boleh dimiliki oleh proksi -
keepAlive - Kaedah ini mengekalkan soket jika ia mempunyai sebarang permintaan tertunggak atau tidak, tetapi mengekalkannya untuk sebarang permintaan masa hadapan tanpa benar-benar mewujudkan semula sambungan TCPnya. Sambungan ini boleh ditutup menggunakan "Tutup Sambungan". Nilai lalai: palsu.
keepAliveMsecs - Pilihan ini mentakrifkan kelewatan awal untuk paket TCP keep-Alive apabila pilihan keepAlive ditetapkan kepada benar. Nilai lalai ialah 1000.
maxSockets - Pilihan ini mentakrifkan bilangan maksimum soket yang dibenarkan bagi setiap hos. Secara lalai, nilai ini ialah infiniti.
maxTotalSockets – Jumlah bilangan soket yang dibenarkan merentas semua hos. Setiap permintaan menggunakan soket baharu sehingga had dicapai. Nilai lalai ialah infiniti.
maxFreeSockets - Ini ialah bilangan maksimum soket percuma yang boleh terus dibuka dalam keadaan terbiar. Nilai lalai ialah: 256.
Penjadualan - Ini ialah strategi penjadualan yang boleh digunakan apabila memilih soket percuma seterusnya untuk digunakan. Jadual boleh menjadi "fifo" atau "lifo".
masa tamat - Mewakili tamat masa soket dalam milisaat.
Buat fail bernama agent.js dan salin coretan kod berikut. Selepas mencipta fail, jalankan kod ini menggunakan arahan berikut seperti yang ditunjukkan dalam contoh di bawah -
node agent.js
agent.js
Live demo
// Node.js program to demonstrate the creation of new Agent // Importing the http module const http = require('http'); // Creating a new agent var agent = new http.Agent({}); // Defining options for agent const aliveAgent = new http.Agent({ keepAlive: true, maxSockets: 5, }); // Creating connection with alive agent var aliveConnection = aliveAgent.createConnection; // Creating new connection var connection = agent.createConnection; // Printing the connection console.log('Succesfully created connection with agent: ', connection.toString); console.log('Succesfully created connection with alive agent: ', aliveConnection.toString);
C:\homeode>> node agent.js Succesfully created connection with agent: function toString() { [native code] } Succesfully created connection with alive agent: function toString() { [native code] }
Modul "sedang mencuba untuk hidup" soket atau ejen memberikan fleksibiliti yang lebih baik. Kami akan menggunakan modul ini dalam contoh berikut untuk pemahaman yang lebih baik.
Pemasangan
npm install agentkeepalive --save
Kod program
// Node.js program to demonstrate the creation of new Agent // Importing the http module const http = require('http'); // Importing the agentkeepalive module const Agent = require('agentkeepalive'); // Creating a new agent const keepAliveAgent = new Agent({}); // Implementing some options const options = { host: 'tutorialspoint.com', port: 80, path: '/', method: 'GET', agent: keepAliveAgent, }; // Requesting details via http server module const req = http.request(options, (res) => { // Printing statuscode, headers and other details // received from the request console.log("StatusCode: ", res.statusCode); console.log("Headers: ", res.headers); }); // Printing the agent options console.log("Agent Options: ", req.agent.options); req.end();
C:\homeode>> node agent.js Agent Options: { socketActiveTTL: 0, timeout: 30000, freeSocketTimeout: 15000, keepAlive: true, path: null } StatusCode: 403 Headers: { date: 'Sun, 25 Apr 2021 08:21:14 GMT', server: 'Apache', 'x-frame-options': 'SAMEORIGIN', 'last-modified': 'Thu, 16 Oct 2014 13:20:58 GMT', etag: '"1321-5058a1e728280"', 'accept-ranges': 'bytes', 'content-length': '4897', 'x-xss-protection': '1; mode=block', vary: 'User-Agent', 'keep-alive': 'timeout=5, max=100', connection: 'Keep-Alive', 'content-type': 'text/html; charset=UTF-8' }
Atas ialah kandungan terperinci Buat proksi dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!