npm 包 agentkeepalive-ntlm 使用教程

阅读时长 3 分钟读完

概述

本文介绍 npm 包 agentkeepalive-ntlm 的使用方法。该包可以解决使用 Node.js 做 http 请求时,因 NTLM 认证问题造成的性能问题。

安装

通过 npm 安装:

使用

-- -------------------- ---- -------
----- ---- - ----------------
----- ----- - -------------------------------

----- -------------- - --- -------
  ----------- ---
  --------------- ---
  -------- ------
  ----------------- ----- -- -------- ------- --- ---------- -------
---

----- ------- - -
  ----- ------------------
  ----- ---
  ----- -------
  ------- ------
  -------- -
    ---------------- ----- ------------------
  -
--

----- --- - --------------------- ----- -- -
  ------------------------
  -------------- ------- -- -
    ------------------ -----------
  ---
  ------------- -- -- -
    --------------- ---- ---- -- ------------
  ---
---

--------------- --- -- -
  ---------------------- ---- -------- ---------------
---

-- --- ---- ----- ------
-----------------------------

-- ----- ---- -- ------- ----
--------------------
----------

参数说明

new Agent(options)

创建 Agent 实例,options 可选参数:

  • maxSockets: 最大 http sockets 数量,默认为 100。
  • maxFreeSockets: 最大空闲 http sockets 数量,超过数量将会被销毁,默认为 10。
  • timeout: http 请求默认超时时间,单位为毫秒,默认为 1000。
  • keepAliveTimeout: keep-alive sockets 超时时间,单位为毫秒,默认为 15000。

req.setAgent(agent)

将 Agent 实例赋值给请求,用于复用 HTTP 连接。

Authorization 头

NTLM 认证方法使用 Authorization 头,包含对应的 NTLM token 经过 Base64 编码后的字符串,格式如下:

需要注意的是,NTLM token 中一般包含了认证的用户名和密码,必须使用 SSL 或者其他安全措施确保传输过程不被中间人攻击捕获。为了更好的安全性,建议进行集成测试。

总结

本文介绍了如何使用 npm 包 agentkeepalive-ntlm 来提高 Node.js 做 http 请求的性能。通过该包,我们可以很方便的复用 HTTP 连接,避免了因为频繁开启和关闭连接而产生的效率损失。同时,要保证认证信息的安全性,加强途中的传输保护,确保数据不被中间人截获。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005587281e8991b448d5acd

纠错
反馈