Buat proksi dalam Node.js

WBOY
Lepaskan: 2023-08-24 21:41:05
ke hadapan
1211 orang telah melayarinya

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

Parameter

Fungsi di atas boleh menerima Parameter

  • Options< /strong> 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
Salin selepas log masuk

agent.js

Live demo

// Node.js program to demonstrate the creation of new Agent

// Importing the http module
const http = require(&#39;http&#39;);

// 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(&#39;Succesfully created connection with agent: &#39;,
connection.toString);
console.log(&#39;Succesfully created connection with alive agent: &#39;,
aliveConnection.toString);
Salin selepas log masuk

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

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

Kod program

// Node.js program to demonstrate the creation of new Agent

// Importing the http module
const http = require(&#39;http&#39;);
// Importing the agentkeepalive module
const Agent = require(&#39;agentkeepalive&#39;);

// Creating a new agent
const keepAliveAgent = new Agent({});

// Implementing some options
const options = {
   host: &#39;tutorialspoint.com&#39;,
   port: 80,
   path: &#39;/&#39;,
   method: &#39;GET&#39;,
   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();
Salin selepas log masuk

Output

C:\homeode>> node agent.js
Agent Options: { socketActiveTTL: 0,
   timeout: 30000,
   freeSocketTimeout: 15000,
   keepAlive: true,
   path: null }
StatusCode: 403
Headers: { date: &#39;Sun, 25 Apr 2021 08:21:14 GMT&#39;,
   server: &#39;Apache&#39;,
   &#39;x-frame-options&#39;: &#39;SAMEORIGIN&#39;,
   &#39;last-modified&#39;: &#39;Thu, 16 Oct 2014 13:20:58 GMT&#39;,
   etag: &#39;"1321-5058a1e728280"&#39;,
   &#39;accept-ranges&#39;: &#39;bytes&#39;,
   &#39;content-length&#39;: &#39;4897&#39;,
   &#39;x-xss-protection&#39;: &#39;1; mode=block&#39;,
   vary: &#39;User-Agent&#39;,
   &#39;keep-alive&#39;: &#39;timeout=5, max=100&#39;,
   connection: &#39;Keep-Alive&#39;,
   &#39;content-type&#39;: &#39;text/html; charset=UTF-8&#39; }
Salin selepas log masuk

Atas ialah kandungan terperinci Buat proksi dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!