---
url: https://docs.ogmabox.com/tr/reference/httpql.md
description: >-
  HTTPQL ve StreamQL sorgu sözdizimiyle Ogma HTTP geçmişini, WebSocket
  trafiğini, Otomasyon sonuçlarını ve ilgili görünümleri filtreleyin.
---

# HTTPQL ve StreamQL {#httpql-and-streamql}

Ogma; HTTP geçmişini, WebSocket trafiğini, Otomasyon sonuçlarını ve ilgili görünümleri filtrelemek için Caido uyumlu sorgu dilinin bir alt kümesini kullanır.

## Sözdizimi {#syntax}

Sorgular `AND` ve `OR` ile birleştirilen koşullardan oluşur.

```text
req.host:example.com AND resp.code:200
```

Parantezler ifadeleri gruplar:

```text
(req.path.cont:"/api/" OR req.path.cont:"/graphql") AND resp.code.gte:400
```

Yorumlar desteklenir:

```text
// API errors
req.path.cont:"/api/" AND resp.code.gte:500
```

```text
/* focus on login */
req.path.cont:"login"
```

## İşleçler {#operators}

| İşleç | Anlamı |
| --- | --- |
| `:` | Alan türüne göre eşitlik veya varsayılan eşleşme |
| `.eq:` | Eşittir |
| `.ne:` | Eşit değildir |
| `.cont:` | Büyük/küçük harfe duyarsız olarak içerir |
| `.ncont:` | Büyük/küçük harfe duyarsız olarak içermez |
| `.cs.cont:` | Büyük/küçük harfe duyarlı olarak içerir |
| `.cs.ncont:` | Büyük/küçük harfe duyarlı olarak içermez |
| `.like:` | SQL benzeri desen eşleşmesi |
| `.nlike:` | Olumsuz SQL benzeri desen eşleşmesi |
| `.regex:` | Düzenli ifade eşleşmesi |
| `.nregex:` | Olumsuz düzenli ifade eşleşmesi |
| `.lt:` | Küçüktür |
| `.lte:` | Küçük veya eşittir |
| `.gt:` | Büyüktür |
| `.gte:` | Büyük veya eşittir |
| `.exists` | Başlık vardır; `req.header["Name"].value.exists` veya yanıt karşılığını kullanın |

## HTTP örnekleri {#http-examples}

API trafiğini bulun:

```text
req.path.cont:"/api/"
```

Sunucu hatalarını bulun:

```text
resp.code.gte:500
```

Büyük yanıtları bulun:

```text
resp.len.gt:100000
```

JSON yanıtlarını bulun:

```text
resp.header["content-type"].value.cont:"application/json"
```

Çerezli istekleri bulun:

```text
req.header["cookie"].value.exists

```

Trafik durdurma veya Eşleştir ve değiştir tarafından değiştirilmiş trafiği bulun:

```text
req.modified.eq:true
```

Olası yönetici yollarını bulun:

```text
req.path.cont:"/admin" OR req.path.cont:"/manage"
```

Yeniden gönderim veya Otomasyon trafiğini bulun:

```text
source:replay OR source:automate
```

## Akış örnekleri {#stream-examples}

StreamQL aynı sorgu tarzını WebSocket ve akış görünümlerine uygular.

Belirteç alanı içeren WebSocket mesajlarını bulun:

```text
ws.raw.cont:"token"
```

Sunucudan istemciye mesajları bulun:

```text
ws.direction.eq:"To Client"
```

JSON benzeri mesajları bulun:

```text
ws.raw.cont:"{" AND ws.raw.cont:"}"
```

## Pratik kaydedilmiş filtreler {#practical-saved-filters}

| Ad | Sorgu |
| --- | --- |
| API hataları | `req.path.cont:"/api/" AND resp.code.gte:400` |
| Kimlik doğrulama uç noktaları | `req.path.cont:"login" OR req.path.cont:"oauth" OR req.path.cont:"session"` |
| JSON trafiği | `resp.header["content-type"].value.cont:"json"` |
| İlginç yöntemler | `req.method:POST OR req.method:PUT OR req.method:PATCH OR req.method:DELETE` |
| Olası gizli bilgiler | `resp.body.cont:"api_key" OR resp.body.cont:"secret" OR resp.body.cont:"token"` |

## Sınırlar {#limits}

Filtre davranışını öngörülebilir tutmak için Ogma sorgu karmaşıklığını sınırlar:

* En fazla iç içe ifade derinliği: 16.
* En fazla koşul sayısı: 64.

Sorgu çok karmaşık hâle gelirse kaydedilmiş filtrelere bölün veya daha geniş araştırma için Arama bölümünü kullanın.
