メインコンテンツに移動
バージョン: 22.5.0

HTTPRequest クラス

ページによって送信された HTTP リクエストを表します。

シグネチャ:

export declare abstract class HTTPRequest

備考

ページがネットワークリソースなどのリクエストを送信するたびに、Puppeteer の `page` によって以下のイベントが発行されます。

  • `request`:ページによってリクエストが発行されたときに発行されます。 - `requestfinished` - レスポンスボディがダウンロードされ、リクエストが完了したときに発行されます。

リクエストが途中で失敗した場合、`requestfinished` イベントの代わりに `requestfailed` イベントが発行されます。

これらのイベントはすべて、発生したリクエストを表す `HTTPRequest` のインスタンスを提供します。

page.on('request', request => ...)

注:404 や 503 などの HTTP エラーレスポンスは、HTTP の観点からは依然として成功したレスポンスであるため、リクエストは `requestfinished` イベントで完了します。

リクエストが「リダイレクト」レスポンスを受信した場合、リクエストは `requestfinished` イベントで正常に完了し、リダイレクトされた URL に新しいリクエストが発行されます。

このクラスのコンストラクタは内部用としてマークされています。サードパーティのコードは、コンストラクタを直接呼び出したり、`HTTPRequest` クラスを拡張するサブクラスを作成したりしてはなりません。

プロパティ

プロパティ修飾子説明
clientreadonlyCDPSession警告! このクライアントを使用すると、Puppeteer が破損する可能性があります。注意して使用してください。

メソッド

メソッド修飾子説明
abort(errorCode, priority)リクエストを中止します。
abortErrorReason()リクエストを中止した最新の理由
continue(overrides, priority)オプションのリクエストオーバーライドを使用してリクエストを続行します。
continueRequestOverrides()インターセプトが続行されることを許可されている場合(つまり、`abort()` と `respond()` が呼び出されていない場合)に使用される `ContinueRequestOverrides` です。
enqueueInterceptAction(pendingHandler)処理キューに非同期リクエストハンドラを追加します。遅延ハンドラは、特定の順序で実行されることは保証されていませんが、リクエストインターセプトが完了する前に解決されることは保証されています。
failure()リクエストの失敗に関する情報にアクセスします。
fetchPostData()ブラウザからリクエストの POST データを取得します。
finalizeInterceptions()保留中のインターセプトハンドラを待機し、リクエストインターセプトを実行する方法を決定します。
frame()リクエストを開始したフレーム。エラーページに移動する場合は null です。
hasPostData()リクエストに POST データがある場合は true です。データが長すぎるか、デコードされた形式で容易に利用できない場合、このフラグが true の場合でも HTTPRequest.postData() は未定義になる可能性があることに注意してください。その場合は、HTTPRequest.fetchPostData() を使用してください。
headers()リクエストに関連付けられた HTTP ヘッダーを持つオブジェクト。すべてのヘッダー名は小文字です。
initiator()リクエストの開始者。
interceptResolutionState()

現在の解決アクションと優先度を記述する InterceptResolutionState オブジェクト。

InterceptResolutionState には以下が含まれます。action: InterceptResolutionAction priority?: number

InterceptResolutionAction は、`abort`、`respond`、`continue`、`disabled`、`none`、または `already-handled` のいずれかです。

isInterceptResolutionHandled()インターセプト解決が既に処理されている場合は `true`、そうでない場合は `false` です。
isNavigationRequest()リクエストが現在のフレームのナビゲーションのドライバーである場合は true です。
method()使用されたメソッド(`GET`、`POST` など)
postData()リクエストのポストボディ(存在する場合)。
redirectChain()`redirectChain` は、リソースを取得するために開始されたリクエストのチェーンです。
resourceType()レンダリングエンジンによって認識されたリクエストのリソースタイプが含まれています。
respond(response, priority)指定されたレスポンスでリクエストを実行します。
response()一致する `HTTPResponse` オブジェクト。レスポンスがまだ受信されていない場合は null です。
responseForRequest()インターセプトが応答することを許可されている場合(つまり、`abort()` が呼び出されていない場合)に使用される `ResponseForRequest` です。
url()リクエストの URL