# @applitools/http-commons 中文文档

规范地址：https://npmcn.com/package/%40applitools/http-commons/

版本：3\.0\.2
npm 元数据更新时间：2026-06-28T14:42:32.535Z
中文译文更新时间：2026-11-06T11:52:18.359Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40applitools/http-commons
原文对照：https://npmcn.com/package/%40applitools/http-commons/?lang=original
项目主页：https://github.com/applitools/rendering-grid#readme
源码仓库：https://github.com/applitools/rendering-grid

弃用说明：this package has been deprecated

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：81 kB，13 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18\.0\.0
- 运行依赖：6 个
- 首次发布：2017-10-12T06:29:50.374Z
- 最新版本发布：2024-11-13T11:46:44.970Z
- 近 30 天下载量：11201（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：43（近 12 个月 0 个）

## 中文简介

暂无中文简介

## 安装

```sh
npm install @applitools/http-commons
```

也可以使用：`pnpm add @applitools/http-commons`、`yarn add @applitools/http-commons`、`bun add @applitools/http-commons`

## README

# http-commons (韩语)

拥有 http 共同功能的图书馆, 围绕 http- 客户端 .

## 安装

```sh
npm install @applitools/http-commons
```

## 使用软件包

让我们看看一个例子 `fetchAsJson`

```js
const {fetchAsJson} = require('@applitools/http-commons')

await fetchAsJson('https://swapi.co/api/people/1/') // ===> {name: "Luke Skywalker", ...}
```

## API 密码

所有这些函数,如果状态代码不是2xx,则丢出一个例外. 解密将具有以下属性:

-   `code`将会是 `'ERR_X_STATUS_CODE_NOT_OK'`
-   `status`: HTTP 状态代码
-   `statusText`: HTTP 状态文本
-   `headers`: 带有响应头的对象

### `fetchAsBuffer(url, [fetchOptions], [options])`

async 获取 URL并返回缓冲响应.

#### `url`

要获取的 URL .

#### `fetchOptions`

获取选项 [用于 `node-fetch` 软件包](https://www.npmjs.com/package/node-fetch#fetch-options)。 。 。 .

#### `options`

有以下备选方案:

##### `alternativeFetch`

(用于测试) 用于替代 `node-fetch`\-对 `fetch` 函数.

#### 返回时

作为JSON解析的响应机构的对象.

#### 示例

```js
await fetchAsJson('https://swapi.co/api/people/1/') // ===> {name: "Luke Skywalker", ...}
```

### `fetchAsText(url, [fetchOptions], [options])`

async 获取 URL 并返回响应作为字符串.

#### `url`

要获取的 URL .

#### `fetchOptions`

获取选项 [用于 `node-fetch` 软件包](https://www.npmjs.com/package/node-fetch#fetch-options)。 。 。 .

#### `options`

有以下备选方案:

##### `alternativeFetch`

(用于测试) 用于替代 `node-fetch`\-对 `fetch` 函数.

#### 返回时

有反应机体的绳子.

#### 示例

```js
await fetchAsText('https://www.wikipedia.org')) // ===> "<!DOCTYPE html><html ..."
```

### `fetchAsTextWithJsonBody(url, json, [fetchOptions], [options])`

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

#### `url`

要获取的 URL .

#### `fetchOptions`

获取选项 [用于 `node-fetch` 软件包](https://www.npmjs.com/package/node-fetch#fetch-options)。 。 。 . 注意默认选项是 `{method: 'POST', body: '_the_json_'}`,带有正确的 `content-type` 标题, 但你可以使用 `fetchOptions`

#### `options`

有以下备选方案:

##### `alternativeFetch`

(用于测试) 用于替代 `node-fetch`\-对 `fetch` 函数.

#### 返回时

有反应机体的绳子.

#### 示例

```js
await fetchAsTextWithJsonBody('https://httpbin.org/anything', {x: 4})) // ===> "{..{"x": 4}..}"
```

### `fetchAsJsonWithJsonBody(url, json, [fetchOptions], [options])`

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

#### `url`

要获取的 URL .

#### `fetchOptions`

获取选项 [用于 `node-fetch` 软件包](https://www.npmjs.com/package/node-fetch#fetch-options)。 。 。 . 注意默认选项是 `{method: 'POST', body: '_the_json_'}`,带有正确的 `content-type` 标题, 但你可以使用 `fetchOptions`

#### `options`

有以下备选方案:

##### `alternativeFetch`

(用于测试) 用于替代 `node-fetch`\-对 `fetch` 函数.

#### 返回时

带有被剖析出的身体的"JSON"对象

#### 示例

```js
await fetchAsTextWithJsonBody('https://httpbin.org/anything', {x: 4}, {method: 'PUT'})) // ===> {..{"x": 4}..}
```

### `fetchAsBufferWithJsonBody(url, json, [fetchOptions], [options])`

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

#### `url`

要获取的 URL .

#### `fetchOptions`

获取选项 [用于 `node-fetch` 软件包](https://www.npmjs.com/package/node-fetch#fetch-options)。 。 。 . 注意默认选项是 `{method: 'POST', body: '_the_json_'}`,带有正确的 `content-type` 标题, 但你可以使用 `fetchOptions`

#### `options`

有以下备选方案:

##### `alternativeFetch`

(用于测试) 用于替代 `node-fetch`\-对 `fetch` 函数.

#### 返回时

与反应机体的缓冲.

#### 示例

```js
await fetchAsBufferWithJsonBody('https://httpbin.org/anything', {x: 4})) // ===> Buffer (....)
```

### `retryFetch(func, options)`

检索代码并正确处理重试HTTP和连接错误.

#### `func`

一种叫作 `fetch*` 以上函数或 `fetch` 内 `node-fetch` 直接说.

#### `options`

##### `retries`

失败前重试次数 .

##### `sleepTime`

在复习间睡觉的时间(以毫秒计)

##### `backoff`

指标后退系数 `sleepTime`

##### `idempotent`

有些错误,比如 `5xx` 如果 `fetch` 操作为一能. 所以这个 旗子上写着操作是否具有知觉能力,以便知道是否要重试.

#### 返回时

随便啦 `func` 返回时

#### 示例

```js
const json = await retry(() => fetchAsJson('http://httpbin.org/anything'), {idempotent: true})
```

## 常见问题

### 如何安装 @applitools/http-commons？

在项目目录运行 npm install @applitools/http-commons，或使用 pnpm add / yarn add / bun add。

### @applitools/http-commons 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/applitools\_\_http-commons 是否存在。

### @applitools/http-commons 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @applitools/http-commons 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @applitools/http-commons 可以商用吗？

@applitools/http-commons 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @applitools/http-commons 的下载量有多少？

根据 npm 官方下载统计，@applitools/http-commons 在 2026/10/07 – 2026/11/05 这 30 天内被下载 11,201 次，日均约 373 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @applitools/http-commons 还在维护吗？

最新版本 3\.0\.2 发布于 2024/11/13（2 年前）；至今共发布 43 个版本，其中过去 12 个月发布了 0 个；首次发布于 2017/10/12。作者已将其标记为弃用，新项目建议寻找替代方案。

