Maison > interface Web > js tutoriel > le corps du texte

Créer un proxy dans Node.js

WBOY
Libérer: 2023-08-24 21:41:05
avant
1211 Les gens l'ont consulté

在 Node.js 中创建代理

Vous pouvez créer une instance d'agent dans Node.js en utilisant la nouvelle méthode Agent(). La méthode http.request() crée une instance http.Agent personnalisée à l'aide du globalAgent du module "http".

Syntaxe

new Agent({options})
Copier après la connexion

Paramètres

La fonction ci-dessus peut accepter les Paramètres

  • Options< /strong> – Ces options contiendront des options configurables qui peuvent être définies sur l'agent lors de sa création. Voici les champs/options qu'un proxy peut avoir -

    • keepAlive - Cette méthode conserve le socket s'il a ou non des requêtes en attente, mais les conserve pour toute requête future sans réellement rétablir la connexion TCP. Cette connexion peut être fermée en utilisant Fermer la connexion. Valeur par défaut : faux.

    • keepAliveMsecs - Cette option définit le délai initial pour les paquets TCP keep-Alive lorsque l'option keepAlive est définie sur true. La valeur par défaut est 1 000.

    • maxSockets - Cette option définit le nombre maximum de sockets autorisés par hôte. Par défaut, cette valeur est l'infini.

    • maxTotalSockets – Nombre total de sockets autorisés sur tous les hôtes. Chaque requête utilise un nouveau socket jusqu'à ce que la limite soit atteinte. La valeur par défaut est l'infini.

    • maxFreeSockets - Il s'agit du nombre maximum de sockets libres qui peuvent être maintenues ouvertes à l'état inactif. La valeur par défaut est : 256.

    • Scheduling - Il s'agit d'une stratégie de planification qui peut être appliquée lors de la sélection de la prochaine prise gratuite à utiliser. L'horaire peut être "fifo" ou "lifo".

    • timeout - Représente le délai d'expiration du socket en millisecondes.

Exemple

Créez un fichier appelé agent.js et copiez l'extrait de code suivant. Après avoir créé le fichier, exécutez ce code à l'aide de la commande suivante comme indiqué dans l'exemple ci-dessous -

node agent.js
Copier après la connexion

agent.js

Démo en direct

// 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);
Copier après la connexion

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] }
Copier après la connexion

Example

Le module "agentkeepalive" tente de créer un socket ou un agent offre une meilleure flexibilité. Nous utiliserons ce module dans les exemples suivants pour une meilleure compréhension.

Installation

npm install agentkeepalive --save
Copier après la connexion

Code du programme

// 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();
Copier après la connexion

Sortie

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; }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!