HTTPRequest 类
表示由页面发出的 HTTP 请求。
签名
export declare abstract class HTTPRequest
备注
每当页面发出请求(例如为获取网络资源)时,Puppeteer的page都会触发以下事件:
-
request:在页面发出请求时触发。 -
requestfinished:当响应主体下载完成且请求结束时触发。
如果请求在某个时刻失败,则会触发 requestfailed 事件,而不是 requestfinished 事件。
所有这些事件都会提供代表所发生请求的 HTTPRequest 实例:
page.on('request', request => ...)
注意:从 HTTP 的角度来看,404 或 503 等 HTTP 错误响应仍然是成功响应,因此请求会以 requestfinished 事件完成。
如果请求收到“redirect”响应,请求会通过 requestfinished 事件成功完成,并向重定向后的 URL 发出新请求。
此类的构造函数被标记为内部(internal)。第三方代码不应直接调用构造函数,也不应创建继承 HTTPRequest 类的子类。
属性
|
属性 |
修饰符 |
类型 |
说明 |
|---|---|---|---|
|
client |
|
(实验性) 警告!使用此 client 可能会破坏 Puppeteer。请谨慎使用。 |
方法
|
方法 |
修饰符 |
说明 |
|---|---|---|
|
中止一个请求。 备注: 要使用此方法,需要通过 Page.setRequestInterception() 启用请求拦截。如果未启用,此方法会立即抛出异常。 | ||
|
中止请求的最近一次原因 | ||
|
使用可选的请求覆盖(overrides)继续请求。 备注: 要使用此方法,需要通过 Page.setRequestInterception() 启用请求拦截。 如果未启用请求拦截,会立即抛出异常。 | ||
|
如果允许拦截继续(即未调用 | ||
|
将异步请求处理器添加到处理队列中。延迟的处理器不保证按任何特定顺序执行,但保证在请求拦截定案之前完成(resolve)。 | ||
|
访问有关请求失败的信息。 备注: | ||
|
从浏览器获取请求的 POST 数据。 | ||
|
等待待处理的拦截处理器,然后决定如何完成请求拦截。 | ||
|
发起请求的框架;如果正在导航到错误页面,则为 null。 | ||
|
当请求包含 POST 数据时为 true。请注意,当此标志为 true 时,如果数据过长或不易以解码形式获取,HTTPRequest.postData() 仍可能为 undefined。在这种情况下,请使用 HTTPRequest.fetchPostData()。 | ||
|
包含与请求关联的 HTTP 标头的对象。所有标头名称均为小写。 | ||
|
请求的发起者(initiator)。 | ||
|
描述当前解析动作(action)和优先级(priority)的 InterceptResolutionState 对象。 InterceptResolutionState 包含:action: InterceptResolutionAction priority?: number InterceptResolutionAction 是以下值之一: | ||
|
如果拦截解析已被处理,则为 | ||
|
|
如果请求是当前框架导航的驱动者,则为 true。 | |
|
使用的方法( | ||
|
|
已废弃: | |
|
备注:
例如,如果网站
如果网站
| ||
|
包含渲染引擎感知到的请求资源类型。 | ||
|
用给定的响应完成请求。 备注: 要使用此方法,需要通过 Page.setRequestInterception() 启用请求拦截。 如果未启用请求拦截,会立即抛出异常。 | ||
|
匹配的 | ||
|
如果允许拦截进行响应(即未调用 | ||
|
请求的 URL |