npm 包 request-cus 使用教程

阅读时长 7 分钟读完

简介

request-cus 是一个 Node.js 的请求库,它是 request 的封装,有更简单和友好的 API 接口,支持 GET、POST、PUT、DELETE 等 HTTP 请求,并提供了一些其他标准 HTTP 功能。它的优势在于:

  • API 接口更简单和友好
  • 支持 Promise、Stream、回调等多种请求方式
  • 支持默认配置和全局配置
  • 支持 Cookie、Session 等状态保持功能
  • 支持自定义请求头、代理等高级功能

安装

使用 npm 安装:

使用

发送请求

使用 request-cus 发送 HTTP 请求,只需要调用一个函数:

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

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

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

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

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

上面的代码示例,分别发送了 GET、POST、PUT 和 DELETE 请求,传入的第一个参数是 URL 地址,第二个参数是请求数据,如果没有数据,则不需要传入。

默认和全局配置

request-cus 支持默认配置和全局配置,全局配置会覆盖默认配置,以及每个请求独立的配置。

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

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

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

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

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

上面的代码示例,使用了 request.defaultsrequest.global 来设置默认配置和全局配置,请求发送的时候不用再传入相同的配置项,这样代码就变得更简洁了。

Promise、Stream、回调

request-cus 支持 Promise、Stream 和回调三种方式发送请求。

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

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

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

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

上面的代码示例,演示了三种请求方式,分别是 Promise、Stream 和回调。

高级功能

除了上面提到的默认配置和全局配置外,request-cus 还有一些高级功能,可以满足更复杂的需求。

Cookie、Session

request-cus 支持 Cookie 和 Session 状态保持功能。

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

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

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

上面的代码示例,演示了如何使用 Cookie 和 Session 状态保持功能,在请求发送之前,需要在默认配置中设置 jar: true,在请求发送时,就会使用 jar 来保存和传递 Cookie 和 Session。

代理

request-cus 支持代理功能。

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

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

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

上面的代码示例,演示了如何使用代理功能,在默认配置中设置 proxy 就可以使用代理了。

自定义请求头、数据、URL 等

request-cus 支持自定义请求头、数据、URL 等功能。

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

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

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

上面的代码示例,演示了如何使用自定义请求头、数据、URL 等功能,在请求发送时,传递一个对象即可,对象中可以包含所有请求相关的信息。

小结

request-cus 是 Node.js 的请求库,它最大的优势在于 API 接口更简单和友好,并且支持 Promise、Stream、回调等多种请求方式,同时还支持默认配置和全局配置,以及一些高级功能,如 Cookie、Session、代理等。对于写 Node.js 后端开发或前端开发的同学来说,这是一个不错的选择。

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

纠错
反馈