@apify/http-request

中文文档
2.1.2发布于 2021/03/02ISCCommonJS近 30 天下载 6109

整个软件包的包装

中文使用文档
文档目录7 节
  1. 示例使用
  2. 解码并解压反应
  3. 把JSON从API拿来
  4. 流出反应
  5. API 文档
  6. httprequest([可选 )
  7. 回应

HTTP 为 Node.js 请求库

Build Status

发送 HTTP 请求并返回响应 。 此软件包被使用 认证 SDK 而不是旧的 请求

国家防范机制一揽子计划。 执行隧道代理错误修复、更好的代理代理和支持 brotli 压缩. 固定 deflate 压缩.

该功能具有相似的功能,并有与该功能几乎相同的选项 已经 国家防范机制一揽子计划, 但它带来了一些额外的改进和修正:

  • 它不仅支持Gzip压缩,还支持Brotli和Deflate. 为了激活这个特性, 简单地添加 Accept-Encoding: gzip, deflate, br 改为 options.headers (或组合)和设置 options.useBrotli 真实的.
  • 允许在数据下载前根据响应头进行堕胎请求. 见 options.abortFunction 参数.
  • 隧道代理错误修复
  • 固定的旧调压压缩.
  • 对 Node.js <v12 的 Brotli 支持

示例使用

解码并解压反应

   const httpRequest = require("@apify/http-request");

   const {headers, body, statusCode} =  await httpRequest({ url: 'https://api.apify.com/v2/browser-info'});

把JSON从API拿来

    const httpRequest = require("@apify/http-request");

    const {headers, body, statusCode} =  await httpRequest({ url: 'https://api.apify.com/v2/browser-info', json: true });

流出反应

     const httpRequest = require("@apify/http-request");

     const responseStream =  await httpRequest({ url: 'https://apify.com', stream: true});

API 文档

这是一个 GET 默认请求,但可以通过不同方法或通过 options.method。 。 。 .

httprequest([可选 )

返回承诺 response 对象 或一个 流线 若为 options.stream 被设定为真实.

选项.url

目标终点的 URL 。 支持HTTP和HTTPS两种方案.

选项.方法

HTTP 方法 。 默认值是 GET。 。 。 .

选项。标题

HTTP头. 默认值是 {}。 。 。 .

注意,该函数本身会产生多个头,除非 定义在 headers 参数,在此情况下,函数使其不受影响.

  • 例如,即使定义 { 'Content-Length': null },函数不定义 “ Content- Length” 标题和请求将不包含( 由于 null 数值).

选项。负载

PATCH、POST和PUT请求的HTTP有效载荷。 一定是个 Buffer 或者说 String。 。 。 .

选项

遵循 HTTP 3xx 回复作为重定向( 默认: true) .

选项.max 方向

要遵循的定向的最大次数 。 默认值是 20

选项.超时Secs

包含等待服务器发送秒数的整数 在中止请求前启动响应正文. 注意如果无法建立基本的TCP连接,则整个操作系统 TCP连接超时会推翻超时选项(Linux中的默认从20-120秒可以到任何地方).

默认值是 30。 。 。 .

选项. proxyUrl

要使用的 HTTP 代理 。 支持 Basic Auth 代理认证 .

选项

如果错误, 则要求 SSL/ TLS 证书有效

默认值是 false

选项

决定请求是否应中止的函数 。 当服务器被调用时 与 HTTP 头响应,但在实际数据下载之前. 课,它应该回来 true 如果请求应当中止,或 false 否则. 也可以将自定义错误丢入 options.abortFunction。 。 。 . 在这种情况下, httpRequest 中止请求并丢弃自定义错误.

默认值是 null。 。 。 .

选项。推出 Http 错误

如果设定为真实函数, 则在 4XX 和 5XX 响应代码上抛出并出错 .

默认值是 false。 。 。 .

选项.decodeBody

如果设置为已解码的正文, 则返回 。 如果 [options.parsedBody] 是真实的, 则无法设定为虚假 .

默认值是 true

选项.json

如果设定为真实解析后的身体会被返回 。 内容类型头被设定为 application/json 有这个就没用了 options.stream 设定为真实.

默认值是 false。 。 。 .

选项。 流线

如果设置为真实已解压的流则返回 .

默认值是 false

选项

如果设置为真实的 Brotli 解压被启用 。 布罗特利有一个来自诺德.js本地的支持 V10.16.0。如果使用旧版本,则必须具有对等关系 iltorb 已安装.

默认值是 false

回应

许诺 <object> - 响应对象通常为

更多信息请见原始 npm 包 - 已经。 。 。 .

版本与发布记录

@apify/http-request 共发布 22 个版本,首次发布于 2019/07/19;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.1.2latest2021/03/025 年前
2.1.12020/11/175 年前
2.1.02020/06/076 年前
2.0.12020/06/056 年前
2.0.02020/05/226 年前
1.2.02020/04/256 年前

关于 @apify/http-request 的常见问题

@apify/http-request 是什么?

整个软件包的包装

如何安装 @apify/http-request?

在项目目录运行 npm install @apify/http-request,或使用 pnpm add / yarn add / bun add。

@apify/http-request 支持 TypeScript 吗?

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

@apify/http-request 支持 ESM 还是 CommonJS?

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

@apify/http-request 可以商用吗?

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

@apify/http-request 的下载量有多少?

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

@apify/http-request 还在维护吗?

最新版本 2.1.2 发布于 2021/03/02(5 年前);至今共发布 22 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/07/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。