---
url: https://docs.ogmabox.com/fa/app/search.md
description: ترافیک و یافته‌های پروژهٔ Ogma را با HTTPQL و فیلترهای محتوا جست‌وجو کنید.
---

# جست‌وجو {#search}

جست‌وجو ترافیک HTTP ثبت‌شدهٔ پروژهٔ فعلی را پرس‌وجو می‌کند؛ از جمله رکوردهایی که فراتر از ردیف‌های بارگذاری‌شدهٔ فعلی تاریخچهٔ HTTP هستند.

## بازکردن جست‌وجو {#opening-search}

در پیمایش سمت چپ روی **جست‌وجو** کلیک کنید. معیارهای ساختاریافته و/یا یک عبارت HTTPQL وارد کنید، سپس روی **جست‌وجو** کلیک کنید یا Enter را فشار دهید. تایپ‌کردن معیارها را تغییر می‌دهد اما جست‌وجوی جدیدی اجرا نمی‌کند. برای بررسی نتایج بیشتر از صفحه‌بندی استفاده کنید.

## نحو HTTPQL {#httpql-syntax}

HTTPQL یک زبان پرس‌وجوی ساختاریافته برای ترافیک HTTP است. با استفاده از عملگرهای نوع‌دار، فیلدهای درخواست و پاسخ را تطبیق می‌دهد.

### فیلدها {#fields}

| فیلد | مورد تطبیق |
|-------|---------|
| `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` | وقتی حداقل یک یافته به درخواست پیوست شده باشد، درست است. |
| `req.tag` | رشتهٔ برچسب اعمال‌شده به درخواست. |

### عملگرها {#operators}

| عملگر | کاربرد برای | معنی |
|----------|-----------|---------|
| `eq` | رشته، عدد صحیح | تطبیق دقیق. |
| `ne` | رشته، عدد صحیح | نابرابر. |
| `cont` | رشته | شامل زیررشته است. |
| `ncont` | رشته | شامل زیررشته نیست. |
| `regex` | رشته | با عبارت منظم تطبیق دارد. |
| `gt` | عدد صحیح | بزرگ‌تر از. |
| `gte` | عدد صحیح | بزرگ‌تر یا مساوی. |
| `lt` | عدد صحیح | کوچک‌تر از. |
| `lte` | عدد صحیح | کوچک‌تر یا مساوی. |
| `exists` | سرآیندها | سرآیند موجود است. |

### ترکیب عبارت‌ها {#combining-expressions}

برای ترکیب شرایط از `AND` و `OR` استفاده کنید. پرانتزها تقدم را کنترل می‌کنند. برای حذف موارد مطابق از عملگرهای منفی مانند `ne` یا `ncont` استفاده کنید.

```text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500
```

## نمونهٔ پرس‌وجوها {#example-queries}

درخواست‌های POST را پیدا کنید که خطایی در محدودهٔ 500 برگردانده‌اند:

```text
req.method.eq:POST AND resp.code.gte:500
```

درخواست‌های دارای سرآیند Authorization را پیدا کنید:

```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"
```

## جست‌وجوهای ذخیره‌شده {#saved-searches}

از **سنجاق کردن** کنار ورودی HTTPQL استفاده کنید تا پرس‌وجوی پرکاربردی را برای استفادهٔ مجدد سریع نگه دارید. پرس‌وجوی سنجاق‌شده را برای اعمال انتخاب کنید؛ وقتی دیگر لازم نیست، برچسب آن را حذف کنید. تاریخچهٔ پرس‌وجو نیز به استفادهٔ دوباره از عبارت‌های اخیر کمک می‌کند.

زبانه‌های جست‌وجو امکان مقایسهٔ پرس‌وجوهای مستقل در بازدید فعلی را فراهم می‌کنند. آن‌ها جست‌وجوهای ذخیره‌شدهٔ پایدار نیستند. برای پیش‌تنظیم‌های ساختاریافتهٔ نام‌دار که می‌توان از آن‌ها خروجی گرفت و واردشان کرد، از [صفحهٔ فیلترها](./filters.md) استفاده کنید.

## بررسی نتایج {#inspecting-results}

روی هر ردیف جدول نتایج کلیک کنید تا درخواست و پاسخ در پنل بررسی باز شوند. این پنل همان نمای تاریخچهٔ HTTP است: می‌توانید بین نمایش خام و قالب‌بندی‌شده جابه‌جا شوید، سرآیندها یا بدنه را کپی کنید و یافته‌ها را مستقیماً از این پنل اضافه کنید.

## دستیار هوش مصنوعی {#ai-assist}

وقتی ارائه‌دهندهٔ هوش مصنوعی پیکربندی شده است، روی **هوش مصنوعی** کنار ورودی پرس‌وجو کلیک کنید و آنچه می‌خواهید پیدا کنید را به زبان طبیعی توضیح دهید. Ogma عبارت HTTPQL را تولید می‌کند. پیش از اجرا، پرس‌وجو را بررسی کنید.

* «درخواست‌های POST که خطای سرور برمی‌گردانند» > `req.method.eq:POST AND resp.code.gte:500`
* «پاسخ‌های بزرگ‌تر از 50 KB از زیردامنهٔ API» > `req.host.cont:api AND resp.len.gt:51200`
* «درخواست‌هایی که یافته به آن‌ها پیوست شده است» > `req.has_finding.eq:true`

## صفحه‌های مرتبط {#related-pages}

* [HTTPQL و StreamQL](../reference/httpql.md)
* [تاریخچهٔ HTTP](./http-history.md)
* [فیلترها](./filters.md)
