---
url: https://docs.ogmabox.com/pl/app/match-replace.md
description: >-
  Automatycznie modyfikuj przechwycony ruch HTTP i WebSocket za pomocą reguł
  Dopasowanie i zamiana w Ogma.
---

# Dopasowanie i zamiana {#match-replace}

Dopasowanie i zamiana automatycznie modyfikuje ruch przechodzący przez proxy bez wstrzymywania i konieczności ręcznego działania przy każdym żądaniu.

## Jak działają reguły {#how-rules-work}

Każda reguła określa, czego szukać i co z tym zrobić. Gdy żądanie lub odpowiedź spełnia warunki, reguła natychmiast stosuje transformację.

Reguły są stosowane w kolejności, w której pojawiają się na liście. Jeśli dwie reguły dotyczą tego samego nagłówka, najpierw stosowana jest pierwsza pasująca reguła, a kolejne widzą wynik tej zmiany.

## Pola reguły {#rule-fields}

| Pole | Opis |
| --- | --- |
| Nazwa | Etykieta reguły. Użyj opisowej nazwy wskazującej jej cel. |
| Kierunek | Określa, czy reguła dotyczy żądań, odpowiedzi czy obu |
| Operacja | Transformacja do wykonania (zobacz tabelę operacji poniżej) |
| Tryb dopasowania | Dosłowny, wyrażenie regularne lub pełna zawartość, zależnie od operacji |
| Wartość dopasowania | Ciąg lub wzorzec do znalezienia |
| Wartość zastępująca | Wartość do podstawienia |
| Włączone | Przełącznik aktywujący lub dezaktywujący regułę bez jej usuwania |
| Filtry | Opcjonalne warunki metody, hosta, ścieżki i HTTPQL ograniczające zastosowanie reguły |

### Operacje {#operations}

| Operacja | Działanie |
| --- | --- |
| Dodaj nagłówek | Dodaje nowy nagłówek ze stałą nazwą i wartością |
| Usuń nagłówek | Usuwa nagłówek według nazwy |
| Zastąp nagłówek | Zastępuje wartość istniejącego nagłówka |
| Zastąp treść | Zastępuje część treści na podstawie wartości dopasowania |
| Ścieżka / zapytanie / parametr zapytania | Zmienia ścieżkę żądania lub wartości zapytania |
| Wiersz żądania / odpowiedzi | Zmienia wybrany składnik wiersza początkowego HTTP |
| Kod statusu | Zmienia status odpowiedzi |
| Surowa wiadomość | Przekształca razem wiersz początkowy HTTP, nagłówki i treść |
| Ładunek WebSocket | Zastępuje pasującą zawartość wiadomości klienta lub serwera |
| Przepływ pracy | Uruchamia włączony przepływ pracy typu Konwersja na wybranej zawartości |

## Tryby dopasowania {#match-modes}

**Dosłowny** dopasowuje dokładny ciąg. Używaj go dla stałych tokenów, nazw nagłówków lub konkretnych wartości.

**Wyrażenie regularne** dopasowuje za pomocą wyrażenia regularnego. Używaj go, gdy cel się zmienia — na przykład do dopasowania tokenu zmieniającego się przy każdej sesji lub do przechwycenia grupy i ponownego użycia jej w wartości zastępującej.

W zamianach opartych na wyrażeniach regularnych używaj grup przechwytujących `$1`, `$2` itd., aby odwoływać się do dopasowanych fragmentów w wartości zastępującej.

**Cała zawartość** przekazuje całą wybraną zawartość do transformacji zamiast szukać podciągu. Niektóre operacje, takie jak dodawanie lub usuwanie nazwanego nagłówka, używają zamiast tego dosłownej nazwy i nie oferują wszystkich trybów.

## Przekształcanie całej treści odpowiedzi {#transforming-a-complete-response-body}

1. Utwórz i włącz przepływ pracy typu **Konwersja**, a następnie sprawdź go z danymi testowymi.
2. Utwórz regułę Dopasowanie i zamiana z kierunkiem **Odpowiedź** i operacją **Przepływ pracy (treść)**.
3. Wybierz tryb dopasowania **Cała zawartość** i wskaż przepływ pracy.
4. Ogranicz regułę filtrem HTTPQL, na przykład:

```text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")
```

Przepływ pracy otrzymuje całą treść; jego wynik zastępuje tę treść. **Przepływ pracy (nagłówek)** przekształca nazwany nagłówek, natomiast **Przepływ pracy (surowe nagłówki)** przekształca blok nagłówków. Są to dane wejściowe inne niż treść odpowiedzi.

Filtry HTTPQL są sprawdzane w dostępnym kontekście żądania i odpowiedzi. Reguła działająca w kierunku żądania nie może opierać się na odpowiedzi, która jeszcze nie nadeszła. Wyłącz rejestrowanie przepływu pracy, gdy reguła generuje dużą liczbę uruchomień; włącz je tymczasowo, aby zdiagnozować transformację.

## Zmiana kolejności reguł {#reordering-rules}

Przeciągnij wiersz reguły, aby zmienić jej pozycję na liście. Kolejność ma znaczenie, gdy reguły modyfikują nakładające się części tego samego żądania lub odpowiedzi.

## Pomoc AI {#ai-assist}

W edytorze reguły opisz zwykłym językiem, co chcesz zmienić, i kliknij **Wypełnij z AI**. Ogma wygeneruje pola reguły na podstawie opisu. Sprawdź i dostosuj wygenerowane wartości przed włączeniem reguły.

Przykłady skutecznych poleceń:

* „Usuń nagłówek X-Frame-Options ze wszystkich odpowiedzi”
* „Zastąp wartość nagłówka Authorization moim tokenem testowym”
* „Dodaj nagłówek o nazwie X-Debug z wartością true do wszystkich żądań”

## Testowanie reguły {#testing-a-rule}

Przed włączeniem reguły dla bieżącego ruchu przetestuj ją na przykładowym żądaniu:

1. Otwórz edytor reguły.
2. Wklej surowe żądanie HTTP do panelu testowego.
3. Kliknij **Zastosuj reguły**. Panel pokaże wynik oraz zastosowane reguły.
4. Sprawdź, czy wynik odpowiada oczekiwaniom.
5. Włącz regułę.

Panel Test ma też cel **Odpowiedź** z polami statusu, nagłówków i treści. Sprawdź listę zastosowanych reguł: test obejmuje właściwe reguły, a nie tylko pojedyncze pole edytora.

## Dopasowanie i zamiana a Przechwytywanie {#match-replace-vs-intercept}

**Dopasowanie i zamiana** działa automatycznie. Po włączeniu reguły przekształca każde pasujące żądanie lub odpowiedź bez twojego działania.

**Przechwytywanie** wstrzymuje ruch i czeka na ręczną decyzję. Używaj Przechwytywania, gdy właściwa zmiana zależy od kontekstu, który trzeba ocenić dla każdego żądania. Używaj Dopasowania i zamiany, gdy ta sama transformacja powinna być stosowana za każdym razem bez przeglądu.

## Typowe zastosowania {#common-uses}

* Podmiana ciasteczka sesyjnego we wszystkich żądaniach w celu przetestowania innego konta.
* Dodanie nagłówka włączającego tryb debugowania lub administratora.
* Usunięcie nagłówków bezpieczeństwa z odpowiedzi w celu oceny działania po stronie klienta.
* Zastąpienie hosta wpisanego na stałe w odpowiedziach przekierowujących.
* Przepisanie prefiksu ścieżki żądania.

## Powiązane strony {#related-pages}

* [Przechwytywanie](./intercept.md)
* [Historia HTTP](./http-history.md)
* [Przepływy pracy](./workflows.md)
