---
url: https://docs.ogmabox.com/hi/reference/httpql.md
description: >-
  HTTPQL और StreamQL क्वेरी सिंटैक्स से Ogma के HTTP इतिहास, WebSocket ट्रैफ़िक,
  स्वचालन परिणाम और संबंधित दृश्य फ़िल्टर करें।
---

# HTTPQL और StreamQL {#httpql-and-streamql}

Ogma HTTP इतिहास, WebSocket ट्रैफ़िक, स्वचालन परिणाम और संबंधित दृश्य फ़िल्टर करने के लिए Caido-संगत क्वेरी भाषा के एक उपसमुच्चय का उपयोग करता है।

## सिंटैक्स {#syntax}

क्वेरी में `AND` और `OR` से जुड़े क्लॉज़ होते हैं।

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

कोष्ठक अभिव्यक्तियों को समूह में रखते हैं:

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

टिप्पणियों का समर्थन है:

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

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

## ऑपरेटर {#operators}

| ऑपरेटर | अर्थ |
| --- | --- |
| `:` | फ़ील्ड के प्रकार के अनुसार बराबरी या डिफ़ॉल्ट मिलान |
| `.eq:` | बराबर |
| `.ne:` | बराबर नहीं |
| `.cont:` | शामिल है, अक्षरों के बड़े या छोटे होने का भेद किए बिना |
| `.ncont:` | शामिल नहीं है, अक्षरों के बड़े या छोटे होने का भेद किए बिना |
| `.cs.cont:` | शामिल है, अक्षरों के बड़े या छोटे होने का भेद करते हुए |
| `.cs.ncont:` | शामिल नहीं है, अक्षरों के बड़े या छोटे होने का भेद करते हुए |
| `.like:` | SQL-जैसा पैटर्न मिलान |
| `.nlike:` | SQL-जैसे पैटर्न से मिलान नहीं |
| `.regex:` | रेगुलर एक्सप्रेशन से मिलान |
| `.nregex:` | रेगुलर एक्सप्रेशन से मिलान नहीं |
| `.lt:` | इससे कम |
| `.lte:` | इससे कम या बराबर |
| `.gt:` | इससे अधिक |
| `.gte:` | इससे अधिक या बराबर |
| `.exists` | हेडर मौजूद है; `req.header["Name"].value.exists` या प्रतिक्रिया के लिए इसके समकक्ष का उपयोग करें |

## HTTP उदाहरण {#http-examples}

API ट्रैफ़िक खोजें:

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

सर्वर त्रुटियाँ खोजें:

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

बड़ी प्रतिक्रियाएँ खोजें:

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

JSON प्रतिक्रियाएँ खोजें:

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

कुकी वाले अनुरोध खोजें:

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

```

इंटरसेप्ट या मिलान और प्रतिस्थापन से बदला गया ट्रैफ़िक खोजें:

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

संभावित एडमिन पाथ खोजें:

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

रीप्ले या स्वचालन ट्रैफ़िक खोजें:

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

## स्ट्रीम उदाहरण {#stream-examples}

StreamQL यही क्वेरी शैली WebSocket और स्ट्रीम दृश्यों पर लागू करता है।

टोकन फ़ील्ड वाले WebSocket संदेश खोजें:

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

सर्वर से क्लाइंट को भेजे गए संदेश खोजें:

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

JSON-जैसे संदेश खोजें:

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

## उपयोगी सहेजे गए फ़िल्टर {#practical-saved-filters}

| नाम | क्वेरी |
| --- | --- |
| API त्रुटियाँ | `req.path.cont:"/api/" AND resp.code.gte:400` |
| प्रमाणीकरण एंडपॉइंट | `req.path.cont:"login" OR req.path.cont:"oauth" OR req.path.cont:"session"` |
| JSON ट्रैफ़िक | `resp.header["content-type"].value.cont:"json"` |
| ध्यान देने योग्य मेथड | `req.method:POST OR req.method:PUT OR req.method:PATCH OR req.method:DELETE` |
| संभावित सीक्रेट | `resp.body.cont:"api_key" OR resp.body.cont:"secret" OR resp.body.cont:"token"` |

## सीमाएँ {#limits}

फ़िल्टर का व्यवहार पूर्वानुमेय रखने के लिए Ogma क्वेरी की जटिलता सीमित करता है:

* नेस्टेड अभिव्यक्तियों की अधिकतम गहराई: 16।
* क्लॉज़ की अधिकतम संख्या: 64।

यदि क्वेरी बहुत जटिल हो जाए, तो उसे सहेजे गए फ़िल्टर में विभाजित करें या व्यापक जाँच के लिए **खोजें** का उपयोग करें।
