📜  Node.js new Agent() 方法(1)

📅  最后修改于: 2023-12-03 15:17:55.101000             🧑  作者: Mango

Node.js new Agent() 方法

简介

new Agent() 方法是 Node.js 提供的用于创建 HTTP(S) 代理的构造函数。代理是位于客户端和服务器之间的中间服务器,它充当两者之间的中介并转发请求和响应。Node.js 的 Agent 类负责管理与服务器的连接池,以便更有效地处理网络请求。

构造函数

new Agent(options) 方法会返回一个新的 Agent 实例。可选的 options 参数允许您配置代理的行为。以下是常用的选项:

  • keepAlive:一个布尔值,指示是否保持与服务器的连接以进行复用,默认为 true
  • keepAliveMsecs:一个数字,指定空闲连接保持的最长毫秒数,默认为 1000。
  • maxSockets:一个数字,指定允许的最大并发套接字数量,默认为 Infinity。
  • maxFreeSockets:一个数字,指定允许的最大空闲套接字数量,默认为 256。
  • timeout:一个数字,指定套接字超时的毫秒数,默认为 0,表示不设置超时。
示例

以下是创建和使用 Agent 实例的示例代码:

const http = require('http');

// 创建 HTTP 代理
const agent = new http.Agent({
  keepAlive: true,
  keepAliveMsecs: 1000,
  maxSockets: 10,
  maxFreeSockets: 5
});

// 发送 HTTP 请求
http.get({
  hostname: 'www.example.com',
  port: 80,
  path: '/',
  method: 'GET',
  agent: agent // 指定使用代理对象
}, (res) => {
  // 处理响应
});

在上面的示例中,我们通过指定 agent 选项将 Agent 实例传递给 http.get() 方法。这样做可以确保请求复用与服务器的连接,以提高性能和效率。

总结

new Agent() 方法是 Node.js 提供的用于创建 HTTP(S) 代理的构造函数。通过配置代理的选项,您可以更好地管理与服务器的连接池,并提高网络请求的性能。使用代理对象是一种优化网络请求的常见方法。

详细文档,请参阅 Node.js 官方文档