検索
検索は、現在のプロジェクトでキャプチャーした HTTP 通信を検索します。HTTP 履歴で現在読み込まれている行以外の記録も対象です。
検索を開く
左側のナビゲーションで検索をクリックします。構造化された条件や HTTPQL 式を入力し、検索をクリックするか Enter を押します。入力するだけでは条件が変わるだけで、新しい検索は実行されません。ほかの結果を確認するにはページを切り替えます。
HTTPQL の構文
HTTPQL は HTTP 通信向けの構造化クエリ言語です。型付きの演算子で、リクエストとレスポンスのフィールドを照合します。
フィールド
| フィールド | 照合対象 |
|---|---|
req.host | リクエストのホスト名。 |
req.path | リクエストのパス。 |
req.method | HTTP メソッド(GET、POST など)。 |
req.body | リクエストボディの内容。 |
resp.code | レスポンスのステータスコード(整数)。 |
resp.len | レスポンスボディの長さ。単位はバイト(整数)です。 |
resp.body | レスポンスボディの内容。 |
resp.header["Name"].value | 指定したレスポンスヘッダーの値。 |
req.header["Name"].value | 指定したリクエストヘッダーの値。 |
req.has_finding | リクエストに少なくとも一つの指摘事項が添付されている場合に true。 |
req.tag | リクエストに付けられたタグの文字列。 |
演算子
| 演算子 | 対応する型 | 意味 |
|---|---|---|
eq | 文字列、整数 | 完全一致。 |
ne | 文字列、整数 | 等しくない。 |
cont | 文字列 | 部分文字列を含む。 |
ncont | 文字列 | 部分文字列を含まない。 |
regex | 文字列 | 正規表現に一致する。 |
gt | 整数 | より大きい。 |
gte | 整数 | 以上。 |
lt | 整数 | より小さい。 |
lte | 整数 | 以下。 |
exists | ヘッダー | ヘッダーが存在する。 |
式の組み合わせ
AND と OR で条件を組み合わせます。括弧で優先順位を制御できます。ne や ncont などの否定演算子を使って、一致する項目を除外します。
text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500クエリの例
500 番台のエラーを返した POST リクエストを検索します。
text
req.method.eq:POST AND resp.code.gte:500Authorization ヘッダーを持つリクエストを検索します。
text
req.header["Authorization"].value.exists特定のホストからの大きなレスポンスを検索します。
text
req.host.eq:api.example.com AND resp.len.gt:100000追加確認用のタグを付けたリクエストを検索します。
text
req.tag.eq:followup指摘事項が添付されたすべてのリクエストを検索します。
text
req.has_finding.eq:trueレスポンスボディが既知のエラー文字列を含むリクエストを検索します。
text
resp.body.cont:"stack trace"保存済みの検索
HTTPQL 入力欄の横のピン留めで、よく使うクエリを保存して素早く再利用できます。ピン留めしたクエリを選択すると適用されます。不要になったら、そのチップを削除してください。クエリ履歴からも最近の式を再利用できます。
検索タブでは、現在の利用中に独立したクエリを比較できます。永続的に保存される検索ではありません。エクスポートやインポートができる名前付きの構造化プリセットには、フィルターページを使用してください。
結果の確認
結果テーブルの行をクリックすると、インスペクターパネルでリクエストとレスポンスを開けます。インスペクターは HTTP 履歴と同じビューです。未加工と整形のビューを切り替え、ヘッダーやボディをコピーし、このパネルから直接指摘事項を追加できます。
AI アシスト
AI プロバイダーが設定されている場合、クエリ入力欄の横の AI をクリックし、検索したい内容を自然言語で説明します。Ogma が HTTPQL 式を生成します。実行前にクエリを確認してください。
- 「サーバーエラーを返した POST リクエスト」 >
req.method.eq:POST AND resp.code.gte:500 - 「API サブドメインからの 50 KB より大きなレスポンス」 >
req.host.cont:api AND resp.len.gt:51200 - 「指摘事項が添付されたリクエスト」 >
req.has_finding.eq:true