Sie haben beobachtet, wie eine App eine Anfrage im Browser gestellt hat. Es funktioniert. Die Daten sind direkt im Netzwerk-Tab verfügbar. Jetzt möchten Sie denselben Aufruf als dokumentierten Endpunkt speichern, simulieren und testen können, ohne die URL, die Header und den JSON-Body manuell neu eingeben zu müssen.
Diese Lücke zwischen „Datenverkehr, den ich sehen kann“ und „einem Endpunkt, den ich wiederverwenden kann“ schließt eine HAR-Datei. Ihr Browser zeichnet bereits jede Anfrage und Antwort auf, die er sendet. Exportieren Sie diese Aufzeichnung, geben Sie sie an Apidog, und jeder erfasste Aufruf wird zu einem echten Endpunkt in Ihrem Projekt. Dieser Leitfaden führt Sie durch den gesamten Prozess: Erfassen einer HAR in den Chrome DevTools, Importieren mit den richtigen Optionen und Bereinigen der generierten Endpunkte, damit die Liste nützlich bleibt. Für einen umfassenderen Überblick über Erfassungsworkflows behandelt unser Leitfaden zu Paket-Capture-Tools mit Apidog das angrenzende Gebiet.
Sie können Apidog kostenlos herunterladen und den Schritten auf den gleichen Bildschirmen folgen.
Was eine HAR-Datei ist und warum die Erfassung des Datenverkehrs nützlich ist
HAR steht für HTTP Archive. Gemäß der Apidog-Dokumentation ist eine .har-Datei „eine JSON-formatierte Datei, die zur Protokollierung der Interaktion eines Webbrowsers mit einer Website verwendet wird. Sie zeichnet Webanfragen, Antworten, Header und andere Daten auf, die zwischen dem Browser und dem Server gesendet werden.“
Einfach ausgedrückt: Eine HAR-Datei ist eine vollständige Aufzeichnung einer Browsing-Sitzung. Jedes GET, jedes POST, die Anfrage-Header, die Antwort-Bodies, das Timing. Da es sich um JSON handelt, lässt es sich gut übertragen. Sie können es per E-Mail versenden, an einen Fehlerbericht anhängen oder es einem Tool zuführen, das es lesen kann.
Dieser letzte Teil ist der Grund, warum es hier wichtig ist. Eine erfasste Sitzung ist eine Aufzeichnung, wie eine API tatsächlich in der Praxis funktioniert, nicht wie eine Spezifikation es vorschreibt. Wenn Sie diese Aufzeichnung in Endpunkte umwandeln, erhalten Sie ein paar Dinge kostenlos:
- Eine echte Anfragesignatur. Die genaue URL, Abfrageparameter, Header und der Body, die die App gesendet hat, keine Schätzung.
- Eine echte Antwort. Der Statuscode und die Nutzlast, die der Server zurückgegeben hat, die Sie als Mock oder Testassertion verwenden können.
- Ein Ausgangspunkt für die Dokumentation. Eine undokumentierte interne API wird zu einer Reihe benannter Endpunkte, die Sie kommentieren können.
Dies ist praktisch, wenn Sie einen Dienst ohne OpenAPI-Spezifikation erben, wenn Sie herausfinden möchten, wie ein Drittanbieter-Widget mit seinem Backend kommuniziert, oder wenn Sie einen Fehler mit dem genauen Aufruf reproduzieren möchten, der ihn ausgelöst hat.
Schritt 1: Die HAR in den Browser-DevTools erfassen
Die Erfassung erfolgt in Ihrem Browser, nicht in Apidog. Chrome und Edge verwenden beide dieselben DevTools, daher sind die Schritte identisch. Nehmen wir an, Sie möchten den Datenverkehr hinter einer Bestellhistorie-Seite erfassen.
- Öffnen Sie die Seite, die Sie aufzeichnen möchten. Melden Sie sich zuerst an, falls die API eine Sitzung benötigt, da die HAR diese Anfragen ebenfalls enthält.
- Öffnen Sie die Entwicklertools. Drücken Sie
F12, oderStrg+Umschalt+Iunter Windows und Linux, oderCmd+Opt+Iauf dem Mac. - Wechseln Sie zum Tab Netzwerk. Hier listen die DevTools jede Anfrage auf, die die Seite stellt.
- Aktualisieren Sie die Seite oder klicken Sie sich durch die Aktionen, deren Datenverkehr Sie erfassen möchten. Das Laden der Bestellhistorie-Ansicht löst Aufrufe an
/api/orders,/api/orders/{id}und alles andere aus, was die Seite benötigt. Jeder davon wird als Zeile angezeigt. - Klicken Sie mit der rechten Maustaste auf eine beliebige Anfragezeile und wählen Sie Alles als HAR mit Inhalt speichern. Wählen Sie einen Speicherort und speichern Sie die Datei, zum Beispiel
order-history.har. Wenn die Menüformulierung Sie verwirrt, dokumentiert die Chrome DevTools Netzwerk-Referenz den gleichen Erfassungs- und Exportvorgang.
Der Teil „mit Inhalt“ ist wichtig. Er weist die DevTools an, die Antwort-Bodies einzuschließen, nicht nur die Anfrage-Metadaten. Ohne sie hätten Ihre importierten Endpunkte zwar Anfragesignaturen, aber keine Beispielantworten.
Ein kurzer Überprüfung, bevor Sie den Browser verlassen: Wenn Sie die .har-Datei in einem Texteditor öffnen, ist sie lesbares JSON. Sie sehen ein entries-Array, wobei jeder Eintrag ein request- und ein response-Objekt enthält. Das ist die Struktur, die Apidog liest.
Eine Sache, die Sie beachten sollten. Ein Seitenaufruf lädt mehr als nur API-Aufrufe. Er ruft auch Bilder, Stylesheets und Skripte ab, und jeder davon landet in der HAR. Sie müssen sie nicht im Browser herausfiltern; Apidog bietet Ihnen beim Import eine Option, um sie zu verwerfen, was im Folgenden behandelt wird.
Schritt 2: Die HAR in Apidog importieren
Nachdem die Datei gespeichert wurde, wechseln Sie zu Apidog. Der Importer befindet sich an einer Stelle.
- Öffnen Sie Ihr Projekt und gehen Sie zu Einstellungen > Daten importieren > Manuell.
- Wählen Sie HAR als Format.
- Laden Sie Ihre
.har-Datei hoch, zum Beispiel dieorder-history.har, die Sie eben gespeichert haben.
Bevor Sie bestätigen, zeigt Apidog drei Importoptionen an. Sie bestimmen, wie sauber das Ergebnis ist, daher lohnt es sich, jede davon zu verstehen, anstatt sie einfach durchzuklicken.
Option 1: Wie die BaseURL behandelt wird
Jede erfasste Anfrage hat eine vollständige URL, so etwas wie https://api.shop.example.com/v1/orders/123. Sie haben zwei Möglichkeiten, was Sie mit dem Host-Teil tun können:
- Hardcodieren behält die BaseURL im Pfad jedes Endpunkts bei. Jeder Endpunkt trägt das vollständige Präfix
https://api.shop.example.com. - Entfernen (Empfohlen) entfernt die BaseURL, sodass der Endpunktpfad zu
/v1/orders/123wird. Der Host wird dann global über Umgebungsvariablen verwaltet.
Wählen Sie die Option Entfernen, es sei denn, Sie haben einen Grund dies nicht zu tun. Es ist aus gutem Grund die empfohlene Einstellung: Wenn die Basis-URL in einer Umgebungsvariablen hinterlegt ist, können Sie dieselben Endpunkte durch Wechseln der Umgebungen auf Produktion, Staging oder einen lokalen Server zeigen, ohne die Endpunkte selbst bearbeiten zu müssen. Hardcodieren sperrt jeden Endpunkt an den Host, von dem Sie ihn erfasst haben, was schmerzhaft wird, sobald Sie gegen einen anderen Server testen müssen.
Option 2: Statische Ressourcen ausschließen
Dies ist die Einstellung, die Sie vor einer überladenen Endpunktliste bewahrt. Die Option Statische Ressource, eingestellt auf Ausschließen, weist Apidog an, die erfassten Bilder, CSS- und JavaScript-Dateien zu überspringen. Ein einziger Seitenaufruf kann Dutzende davon erzeugen, und keine davon sind API-Endpunkte, die Sie dokumentieren möchten.
Aktivieren Sie Ausschließen bei fast jedem Import. Was nach dem Filter übrig bleibt, ist der eigentliche API-Verkehr: die JSON-Aufrufe an /api/orders und ähnliche, nicht die Anfrage nach logo.png.
Option 3: Generieren eines Testfalls pro Endpunkt
Die dritte Option ist Endpunkt-Fallgenerierung. Schalten Sie sie EIN, und Apidog erstellt beim Import einen Standard-Testfall für jeden Endpunkt. Ein Testfall ist ein gespeicherter, ausführbarer Aufruf des Endpunkts mit den bereits ausgefüllten erfassten Werten.
Dies ist ein kleiner Schritt, der sich später auszahlt. Wenn Ihr Ziel das Testen dieser Endpunkte ist, bedeutet ein fertiger Fall pro Endpunkt, dass Sie diesen sofort ausführen können, anstatt ihn von Grund auf neu zu erstellen. Wenn Sie vorerst nur eine Dokumentation wünschen, können Sie die Option deaktiviert lassen und Fälle später hinzufügen.
Bestätigen Sie den Import. Apidog liest die HAR, wendet Ihre Optionen an und konvertiert die erfassten Browserinteraktionen in API-Endpunkte innerhalb Ihres Projekts. Öffnen Sie die Endpunktstruktur und Sie sehen sie gruppiert und bereit.
So sieht ein importierter Endpunkt ungefähr aus, sobald er übernommen wurde, wobei der Bestellungsaufruf als Beispiel dient:
GET /v1/orders/123
Host: api.shop.example.com
Authorization: Bearer <token-from-capture>
Accept: application/json
Und die erfasste Antwort, die Apidog daneben speichert:
{
"id": 123,
"status": "shipped",
"total": 48.5,
"currency": "USD",
"items": [
{ "sku": "TSHIRT-BLK-M", "qty": 2, "price": 19.25 }
],
"createdAt": "2026-07-14T09:31:00Z"
}
Diese Antwort sind echte Daten, die der Server zurückgegeben hat, was sie zu einer soliden Basis für einen Mock oder eine Testassertion macht.
Schritt 3: Die generierten Endpunkte bereinigen
Ein HAR-Import ist ein schneller erster Durchlauf, keine fertige API-Definition. Erfasster Datenverkehr ist naturgemäß unordentlich, planen Sie daher ein paar Minuten ein, um das Ergebnis aufzuräumen.
- Bereinigen Sie den Datenmüll. Selbst wenn Statische Ressource auf Ausschließen eingestellt ist, finden Sie möglicherweise Analyse-Pings, Health Checks oder Drittanbieter-Aufrufe, die Sie nicht interessieren. Löschen Sie die Endpunkte, die Sie nicht verwenden werden, damit der Baum Ihre tatsächliche API widerspiegelt.
- Umbenennen und gruppieren. Erfasste Endpunkte werden nach ihren Pfaden benannt, was funktional, aber flach ist. Geben Sie ihnen klare Namen („Bestellung nach ID abrufen“ anstelle von
/v1/orders/123) und organisieren Sie sie in Ordnern, die Ihrer API-Struktur entsprechen. - Pfadparameter korrigieren. Eine Erfassung von
/v1/orders/123wird als literaler Pfad importiert. Wenn123tatsächlich eine Bestell-ID ist, bearbeiten Sie den Endpunkt so, dass dieses Segment zu einem{orderId}-Pfadparameter wird. Diese eine Änderung verwandelt einen einzelnen erfassten Aufruf in einen wiederverwendbaren Endpunkt, der für jede Bestellung funktioniert. - Geheimnisse bereinigen, bevor Sie teilen. Dies ist leicht zu vergessen. Ihre HAR hat alle Authentifizierungs-Token erfasst, die in dieser Sitzung aktiv waren, und sie wurden in die Header übernommen. Bevor Sie das Projekt committen oder mit Teamkollegen teilen, verschieben Sie Token in Umgebungsvariablen und löschen Sie erfasste Anmeldeinformationen aus den Beispielen. Die Stripe-Dokumentation weist auf denselben Punkt hin, dass Live-Schlüssel niemals in geteilte Artefakte gelangen sollten, und eine HAR ist genau die Art von Artefakt, die sie preisgibt.
- Überprüfen Sie die Bodies. Wenn ein Body leer ist, wo Sie Daten erwartet haben, haben Sie wahrscheinlich ohne „mit Inhalt“ exportiert. Erfassen Sie erneut mit Alles als HAR mit Inhalt speichern und importieren Sie es erneut.
Sobald die Endpunkte bereinigt sind, verhalten sie sich wie jeder andere Endpunkt in Apidog. Sie können sie dokumentieren, einen Mock aus jeder Antwort generieren und Tests erstellen. Der Leitfaden zum Schreiben eines Testszenarios in Apidog knüpft hier natürlich an, und wenn Sie typisierten Client-Code aus diesen Endpunkten wünschen, lesen Sie wie man Client-Code mit Apidog generiert.
Variationen und ehrliche Grenzen
Einige Situationen treten oft genug auf, um sie hervorzuheben.
Es gibt noch keinen automatischen Recorder
Man könnte erwarten, dass Apidog im Hintergrund den Datenverkehr live aufzeichnet, wie es ein Proxy tun würde. Das tut es nicht, und es ist wichtig, das klarzustellen. Die Dokumentation besagt ausdrücklich: „Apidog unterstützt derzeit keine automatische Aufzeichnungsfunktion für Endpunkte, aber es gibt Pläne, dies in Zukunft zu unterstützen.“
Der heute unterstützte Weg ist also genau der in diesem Leitfaden beschriebene: Erfassung mit den DevTools Ihres Browsers, Export der HAR und Import. Der von der Dokumentation empfohlene Workflow besteht darin, die DevTools zu öffnen, während Sie einen Endpunkt im Browser nutzen, die HAR nach Abschluss zu exportieren, sie mit einem Klick in Apidog zu importieren und dann ein Testszenario zu erstellen und alle Anfragen zur Wiedergabe zu importieren. Es ist ein manueller Erfassungsschritt, gefolgt von einem Ein-Klick-Import, kein Live-Recorder. Wenn die automatische Aufnahmefunktion veröffentlicht wird, wird dieser Abschnitt geändert, aber warten Sie nicht darauf.
Die Apidog Browser-Erweiterung ist ein anderes Tool
Es gibt eine Apidog Browser-Erweiterung, und es ist leicht anzunehmen, dass sie HAR-Verkehr erfasst. Das tut sie nicht. Die Erweiterung ermöglicht es Ihnen, die API-Test- und Debugging-Funktionen von Apidog direkt im Browser zu nutzen, ohne den Desktop-Client öffnen zu müssen. Es geht darum, Anfragen auszuführen, nicht sie aufzuzeichnen.
Die HAR-Erfassung erfolgt ausschließlich über die DevTools Ihres Browsers. Wenn Sie die Erweiterung zum Testen verwenden, beachten Sie, dass der Browser Einschränkungen auferlegt: Er blockiert bestimmte Header wie Cookie, Host, Origin und Content-Length, er sendet keine Bodies bei GET- oder HEAD-Anfragen und er kann keinen lokalen Code oder eine Datenbank hinter Ihrem Computer erreichen. Für die Erfassung von Datenverkehr zum Importieren bleiben Sie bei den DevTools und dem HAR-Export. Für ein intensiveres Debugging, das volle Header-Kontrolle erfordert, hat der Apidog Desktop Client keine solchen browserbedingten Einschränkungen.
Andere Formate importieren auf die gleiche Weise
HAR ist eines von mehreren Formaten, die der Bildschirm Einstellungen > Daten importieren > Manuell akzeptiert. Wenn Sie bereits eine OpenAPI- oder Swagger-Datei haben, erhalten Sie durch den Import ein saubereres Ergebnis als durch eine Erfassung, da eine Spezifikation absichtlich strukturiert ist. Unser Leitfaden zur Migration der Swagger API-Dokumentation zu Apidog behandelt diesen Weg, und wenn Sie von Postman kommen, tut dies auch der Leitfaden zur Migration von Postman-Umgebungen und -Sammlungen. Greifen Sie auf HAR zurück, wenn keine echte Spezifikation existiert und der erfasste Datenverkehr die beste Aufzeichnung ist, die Sie haben.
Automatisieren Sie den Workflow mit der Apidog CLI
Das Importieren einer HAR muss kein GUI-Schritt sein. Die Apidog CLI verfügt über einen import-Befehl, der eine HAR-Datei direkt liest. Dies ist nützlich, wenn die Erfassung auf einem Server erfolgt, wenn Sie den Import in einer Pipeline skripten oder wenn Sie einen KI-Coding-Agenten eine Erfassung in Endpunkte umwandeln lassen:
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
# Turn a captured HAR into endpoints in your project
apidog import --project <PROJECT_ID> --format har --file ./capture.har
Das Flag --format akzeptiert auch openapi, postman, wsdl, insomnia und weitere, sodass ein Befehl die meisten Importquellen abdeckt. Sobald die Endpunkte existieren und Sie sie in einem Testszenario gespeichert haben, führen Sie dieses Szenario headles in CI aus:
apidog run --access-token $APIDOG_ACCESS_TOKEN \
-t <SCENARIO_ID> -e <ENV_ID> -r cli
Hier ist -t die gespeicherte Test-Szenario-ID, -e die Umgebungs-ID (dieselbe Umgebungsvariable, die Ihre BaseURL enthält), und -r wählt den Reporter aus, cli für die Konsolenausgabe. Erstellen Sie das Szenario mit dem Leitfaden zum Schreiben eines Testszenarios in Apidog und integrieren Sie dann beide Befehle in Ihre Pipeline mit dem Apidog CLI CI/CD-Leitfaden.
FAQ
Welche Browser können eine HAR-Datei exportieren?
Jeder Chromium-basierte Browser mit DevTools macht es auf die gleiche Weise, daher verwenden Chrome und Edge beide den Tab Netzwerk und den Menüpunkt Alles als HAR mit Inhalt speichern. Die Apidog-Dokumentation behandelt speziell den Chrome- und Edge-Pfad. Andere Browser haben ihre eigenen Exportmenüs, aber die Bezeichnung kann abweichen, passen Sie sich daher der Wortwahl der DevTools Ihres Browsers an.
Meine importierte Endpunktliste ist riesig. Was ist schiefgelaufen?
Sie haben höchstwahrscheinlich Statische Ressource so eingestellt gelassen, dass alles eingeschlossen wird. Ein Seitenaufruf lädt Bilder, CSS und Skripte, und all diese landen in der HAR. Importieren Sie die Datei erneut mit der Option Statische Ressource auf Ausschließen gesetzt, und die Liste wird sich auf tatsächliche API-Aufrufe reduzieren. Sie können die verbleibenden Elemente auch manuell danach löschen.
Sollte ich Hardcodieren oder Entfernen für die BaseURL wählen?
Wählen Sie in fast jedem Fall Entfernen (Empfohlen). Dies entfernt den Host aus jedem Endpunktpfad, sodass Sie ihn global über eine Umgebungsvariable verwalten können, wodurch Sie zwischen Produktion, Staging und lokal wechseln können, ohne Endpunkte bearbeiten zu müssen. Dieselbe Einrichtung liest ein Testszenario in Apidog beim Ausführen. Wählen Sie Hardcodieren nur, wenn Sie die vollständige URL explizit in jeden Pfad integrieren möchten.
Enthält die HAR meine Authentifizierungstoken?
Ja, und das ist der Haken. Eine HAR zeichnet die echten Header auf, die während der Sitzung gesendet wurden, sodass jedes aktive Bearer-Token oder Cookie in der Datei enthalten ist. Behandeln Sie eine HAR wie ein Geheimnis: Fügen Sie sie nicht in ein öffentliches Problem ein, und verschieben Sie nach dem Import Anmeldeinformationen in Umgebungsvariablen und löschen Sie sie aus den gespeicherten Beispielen, bevor Sie das Projekt teilen.
Kann ich die GUI überspringen und eine HAR über die Befehlszeile importieren?
Ja. Der Befehl apidog import --project <id> --format har --file <path> der Apidog CLI importiert eine HAR in Ihr Projekt, ohne die App öffnen zu müssen. Das ist nützlich, wenn die Erfassung auf einem Server oder innerhalb eines CI-Jobs erfolgt. Die GUI bietet Ihnen weiterhin die interaktiven Importoptionen (BaseURL-Handhabung, Filterung statischer Ressourcen) für eine einmalige Erfassung. Wählen Sie also, was besser passt: die CLI für skriptgesteuerte oder agentengesteuerte Importe, die GUI, wenn Sie den Import manuell anpassen möchten. Nach dem Import spielt apidog run die Testszenarien ab, die Sie aus diesen Endpunkten erstellen.
Zusammenfassung
Eine HAR-Datei ist die Brücke zwischen dem sichtbaren Datenverkehr und wiederverwendbaren Endpunkten. Erfassen Sie die Sitzung in den DevTools Ihres Browsers mit Alles als HAR mit Inhalt speichern, importieren Sie sie über Einstellungen > Daten importieren > Manuell mit Entfernen für die BaseURL und Statische Ressource auf Ausschließen gesetzt, und verbringen Sie dann ein paar Minuten damit, die Endpunkte umzubenennen, zu parametrisieren und Geheimnisse zu bereinigen. Was Sie erhalten, ist ein funktionierender Satz von Endpunkten, den Sie dokumentieren, mocken und testen können.
Bereit, Ihre nächste Erfassung in echte Endpunkte umzuwandeln? Laden Sie Apidog herunter und testen Sie es kostenlos, keine Kreditkarte erforderlich.
