# @colyseus/httpie 中文文档

规范地址：https://npmcn.com/package/%40colyseus/httpie/

版本：2\.0\.1
npm 元数据更新时间：2025-05-30T22:55:49.916Z
中文译文更新时间：2026-11-10T11:29:30.434Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40colyseus/httpie
原文对照：https://npmcn.com/package/%40colyseus/httpie/?lang=original
项目主页：https://github.com/lukeed/httpie#readme
源码仓库：https://github.com/lukeed/httpie

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

- 包体积（解压后）：28.8 kB，16 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=10
- 运行依赖：0 个
- 首次发布：2025-05-30T21:00:48.916Z
- 最新版本发布：2025-05-30T22:55:49.730Z
- 近 30 天下载量：144226（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

一个轻量级,基于承诺的HTTP客户端,用于Node.js和浏览器~!

## 安装

```sh
npm install @colyseus/httpie
```

也可以使用：`pnpm add @colyseus/httpie`、`yarn add @colyseus/httpie`、`bun add @colyseus/httpie`

## README

![httpie](https://npmcn.com/package/%40colyseus/httpie/logo.png)

 [![version](https://badgen.now.sh/npm/v/httpie)](https://npmjs.org/package/httpie)[![CI](https://github.com/lukeed/httpie/workflows/CI/badge.svg) ](https://travis-ci.org/lukeed/httpie)[![licenses](https://licenses.dev/b/npm/httpie) ](https://licenses.dev/npm/httpie)[![downloads](https://badgen.now.sh/npm/dm/httpie) ](https://npmjs.org/package/httpie)[![codecov](https://badgen.now.sh/codecov/c/github/lukeed/httpie)](https://codecov.io/gh/lukeed/httpie)

一个节点.js和浏览器HTTP客户端像派一样容易!

## 特征

-   `Promise`\- 基于 HTTP 请求器
-   HTTP 和 HTTPS 协议
-   自动处理 JSON 请求和答复
-   极轻重量 **无依赖关系** 678字节!
-   包括常见的HTTP动词的别名: `get`, (中文(简体) ), `post`, (中文(简体) ), `put`, (中文(简体) ), `patch`,以及 `del`

此外,本单元是:

-   **ES 模块**数字 : [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)
-   **常见JS**数字 : [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)

## 安装

```
$ npm install --save httpie
```

## 使用量

> **说明:** 这个 `async` 语法是用于演示目的的 – 您也可以在节点 6. x 环境中使用 promises!

```js
import { get, post } from 'httpie';

try {
  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');

  // Demo: Endpoint will echo what we've sent
  const res = await post('https://jsonplaceholder.typicode.com/posts', {
    body: {
      id: data.id,
      name: data.name,
      number: data.order,
      moves: data.moves.slice(0, 6)
    }
  });

  console.log(res.statusCode); //=> 201
  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }
} catch (err) {
  console.error('Error!', err.statusCode, err.message);
  console.error('~> headers:', err.headers);
  console.error('~> data:', err.data);
}
```

## API 密码

### 发送( 方法、 url、 选择)

回返情况: `Promise`

任意 `httpie.send` 请求(及其别名)将永远返回一个应许.

如果反应是 `statusCode` 这是400 或 以上 、 此承诺将因格式化的错误而拒绝 。 请看 [处理错误](https://npmcn.com/package/%40colyseus/httpie/#readme-error-handling)否则, " 承诺 " 将完全解决 [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) 流线.

确定的答复将获得一个新的 `data` 将包含反应的全部有效载荷。 如果回复返回 JSON 内容,那么 `httpie` 会分析它和 `res.data` 值将是生成的 JSON 对象 !

#### 方法

类型 : `String`

HTTP 方法名称 – 它必须是大写 !

#### url 密码

类型 : `String` 或者说 [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

若为 `url` 是字符串, 它自动被解析 [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) 变成物体.

#### 选择. body

类型 : `Mixed`  
默认 : `undefined`

请求的身体,可以是任何类型的!

没有`Buffer` 对象将被转换成 JSON 字符串, 并适合 [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) 头将相接.

此外, `httpie` 将 _永远_ 设置值 [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) 头!

#### 选择。标题

类型 : `Object`  
默认 : `{}`

随您请求发送的自定义信头 .

#### 选择. 方向

类型 : `Boolean`  
默认 : `true`

是否应当自动跟踪重定向回复.

> **说明:** 只有在3xx状态下才会发生 _财务报告和审定财务报表_ 如果答复是 [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) 头曰.

#### 选择. reviver

类型 : `Function`  
默认 : `undefined`

直接传递给 [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters),允许您在 `httpie` 请求解决.

> **说明:** 这个会 _仅限_ 运行,如果 `httpie` 发现JSON在反应中!

#### 选择. 超时

类型 : `Integer`  
默认 : `undefined`

自动终止请求前的时间, 以毫秒计 .

当请求超过这一时限时, `httpie` 以 `err<Error>`,添加事实 `err.timeout` 数值.

> **重要内容:** 节点和浏览器版本之间有轻微的行为差异!  
> 在服务器上 `timeout` 价值 _不传播_ 转到任何方向.  
> 在浏览器中 `timeout` 价值 _不会_ 重定向时重置 .

#### 选择。带有证书

类型 : `Boolean`  
默认 : `false`

跨场请求是否应当包括全权证书(如饼干).  
此值直接传递到 [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials)。 。 。 .

**重要**: 这是给 **浏览器版本** 仅此而已!

### 获取( url, 选项qq)

> 别名 [`send('GET', url, opts)`](https://npmcn.com/package/%40colyseus/httpie/#readme-sendmethod-url-opts)。 。 。 .

### 帖子( url, 选项qq)

> 别名 [`send('POST', url, opts)`](https://npmcn.com/package/%40colyseus/httpie/#readme-sendmethod-url-opts)。 。 。 .

### put( url, 选项%%% )

> 别名 [`send('PUT', url, opts)`](https://npmcn.com/package/%40colyseus/httpie/#readme-sendmethod-url-opts)。 。 。 .

### 补丁( url, 选项qq)

> 别名 [`send('PATCH', url, opts)`](https://npmcn.com/package/%40colyseus/httpie/#readme-sendmethod-url-opts)。 。 。 .

### del( url, 选项%%% )

> 别名 [`send('DELETE', url, opts)`](https://npmcn.com/package/%40colyseus/httpie/#readme-sendmethod-url-opts)。 。 。 .

## 处理错误

所有答复 `statusCode >= 400` 会导致被拒绝 `httpie` 请求。 当发生这种情况时,一个错误实例格式化为完整信息 :

-   `err.message` – 说吧 – `String` - 与《联合国宪章》 `err.statusMessage`· ;
-   `err.statusMessage` – 说吧 – `String` - 反应是 `statusMessage` 数值;
-   `err.statusCode` – 说吧 – `Number` - 反应是 `statusCode` 数值;
-   `err.headers` – 说吧 – `Object` - 反应是 `headers` 对象;
-   `err.data` – 说吧 – `Mixed` - 反应的有效载荷;

此外,因超时而出错将具有真实性 `err.timeout` 数值.

> **重要内容:** 错误 `data` 属性也可以被解析为 JSON 对象,根据响应头.

```js
import { get } from 'httpie';

get('https://example.com/404').catch(err => {
  console.error(`(${err.statusCode}) ${err.message}`)
  console.error(err.headers['content-type']);
  console.error(`~> ${err.data}`);
});
//=> "(404) Not Found"
//=> "text/html; charset=UTF-8"
//=> ~> <?xml version="1.0" encoding="iso-8859-1"?>\n<!DOCTYPE html ...</body>\n</html>
```

## 许可证

麻省理工学院 [卢克·爱德华兹](https://lukeed.com/)

## 常见问题

### @colyseus/httpie 是什么？

一个轻量级,基于承诺的HTTP客户端,用于Node\.js和浏览器~\!

### 如何安装 @colyseus/httpie？

在项目目录运行 npm install @colyseus/httpie，或使用 pnpm add / yarn add / bun add。

### @colyseus/httpie 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @colyseus/httpie 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @colyseus/httpie 需要什么版本的 Node\.js？

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

### @colyseus/httpie 可以商用吗？

@colyseus/httpie 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @colyseus/httpie 的下载量有多少？

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

### @colyseus/httpie 还在维护吗？

最新版本 2\.0\.1 发布于 2025/05/31（1\.4 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2025/05/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

