HTTP 为 Node.js 请求库
发送 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> - 响应对象通常为
- 节点.js HTTP 响应流, (中文(简体) ), 但是,如果从缓存中返回,将是一个 类似响应的对象 它的行为相同.
更多信息请见原始 npm 包 - 已经。 。 。 .