Rumah  >  Artikel  >  hujung hadapan web  >  Buat proksi dalam Node.js

Buat proksi dalam Node.js

WBOY
WBOYke hadapan
2023-08-24 21:41:051235semak imbas

在 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".

Syntax

new Agent({options})

Parameter

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.

Contoh

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

Output

C:\homeode>> node agent.js
Succesfully created connection with agent: function toString() { [native code] }
Succesfully created connection with alive agent: function toString() { [native code] }

Contoh

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

Output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam