Erste Schritte mit Dev Proxy

Dev Proxy ist ein Befehlszeilentool, mit dem Sie Verhaltensweisen und Fehler von Cloud-APIs simulieren können, um robuste Apps zu erstellen.

In diesem Lernprogramm erfahren Sie, wie Sie Dev Proxy installieren, ausführen und konfigurieren.

Wenn Sie Schwierigkeiten haben, zögern Sie nicht, uns zu kontaktieren, indem Sie ein neues Problem auslösen, und wir helfen Ihnen gerne.

Installieren von Dev Proxy

Die einfachste Möglichkeit zum Installieren von Dev Proxy ist die Verwendung von Winget. Alternativ können Sie Dev Proxy manuell installieren.

Führen Sie den folgenden Befehl aus, um Dev Proxy mit winget zu installieren:

winget install Microsoft.DevProxy --silent

Wichtig

Dev Proxy installer adds a new entry to PATH. Um dev Proxy nach der Installation zu verwenden, müssen Sie die Eingabeaufforderung neu starten, um sicherzustellen, dass die PATH-Umgebungsvariablen aktualisiert wurden.

Hinweis

Um die neuesten Vorschaufeatures zu testen, installieren Sie die Betaversion von Dev Proxy.

Führen Sie den folgenden Befehl aus, um Dev Proxy mit winget zu installieren:

winget install Microsoft.DevProxy.Beta --silent

So führen Sie die Betaversion von Dev Proxy-Verwendung aus devproxy-beta

Die einfachste Möglichkeit zum Installieren von Dev Proxy ist die Verwendung von Homebrew. Alternativ können Sie Dev Proxy manuell installieren.

Führen Sie die folgenden Befehle aus, um Dev Proxy mit Homebrew zu installieren:

brew tap microsoft/dev-proxy
brew install dev-proxy

Hinweis

Um die neuesten Vorschaufeatures zu testen, installieren Sie die Betaversion von Dev Proxy.

Führen Sie die folgenden Befehle aus, um Dev Proxy mit Homebrew zu installieren:

brew tap microsoft/dev-proxy
brew install dev-proxy-beta

So führen Sie die Betaversion von Dev Proxy-Verwendung aus devproxy-beta

Die einfachste Möglichkeit zum Installieren von Dev Proxy ist die Verwendung des Setupskripts. Alternativ können Sie Dev Proxy manuell installieren.

Führen Sie die folgenden Befehle aus, um Dev Proxy mithilfe des Setupskripts zu installieren:

bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"

Wenn Sie PowerShell verwenden, führen Sie den folgenden Befehl aus:

(Invoke-WebRequest https://aka.ms/devproxy/setup.ps1).Content | Invoke-Expression

Hinweis

Um die neuesten Vorschaufeatures zu testen, installieren Sie die Betaversion von Dev Proxy.

Führen Sie die folgenden Befehle aus, um Dev Proxy mithilfe des Setupskripts zu installieren:

bash -c "$(curl -sL https://aka.ms/devproxy/setup-beta.sh)"

Wenn Sie PowerShell verwenden, führen Sie den folgenden Befehl aus:

(Invoke-WebRequest https://aka.ms/devproxy/setup-beta.ps1).Content | Invoke-Expression

So führen Sie die Betaversion von Dev Proxy-Verwendung aus devproxy-beta

Starten des Dev-Proxys zum ersten Mal

Wenn Sie Dev Proxy zum ersten Mal auf Ihrem Computer starten, müssen Sie einige Schritte ausführen, um sicherzustellen, dass Dev Proxy Anforderungen von Ihrem Computer abfangen und erfolgreich reagieren kann. Sie müssen diese Schritte nach der ersten Ausführung nicht wiederholen.

  1. Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie devproxy ein, und drücken Sie die EINGABETASTE.
  2. Vertrauenswürdiges Zertifikat. Dev Proxy installiert ein Zertifikat mit dem Namen Dev Proxy CA. Eine Warnung wird angezeigt. Wählen Sie diese Option Yes aus, um zu bestätigen, dass Sie das Zertifikat installieren möchten. Dev Proxy verwendet dieses Zertifikat, um HTTPS-Datenverkehr zu entschlüsseln, der von Ihrem Computer gesendet wird.
  3. Firewallzugriff zulassen. Die Windows-Firewall blockiert den Proxy. Eine Warnung wird angezeigt. Wählen Sie Allow access die Schaltfläche aus, um den Datenverkehr über die Firewall zuzulassen.
  1. Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie devproxy ein, und drücken Sie die EINGABETASTE.
  2. Vertrauenswürdiges Zertifikat. Dev Proxy installiert ein Zertifikat namens Dev Proxy CA, das zum Entschlüsseln von HTTPS-Datenverkehr verwendet wird, der von Ihrem Computer gesendet wird. Eine Warnung wird angezeigt. Drücken Sie Y , um zu bestätigen, dass Sie dem Zertifikat vertrauen möchten.
  3. Eingehende Verbindungen annehmen. Eine Warnung wird angezeigt. Wählen Sie diese Option Allow aus, um dies zu bestätigen.
  1. Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie devproxy ein, und drücken Sie die EINGABETASTE.

  2. Vertrauenswürdiges Zertifikat. Dev Proxy verwendet ein benutzerdefiniertes SSL-Zertifikat, um HTTPS-Datenverkehr zu entschlüsseln, der von Ihrem Computer gesendet wird.

    Wichtig

    Die folgenden Anweisungen gelten für Ubuntu. Bei anderen Linux-Distributionen können sich die Schritte unterscheiden.

    Um das Zertifikat zu installieren und als vertrauenswürdig zu verwenden, führen Sie an einer neuen Eingabeaufforderung die folgenden Befehle aus:

    # Export Dev Proxy root certificate
    openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:""
    # Install the certificate
    sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
    # Update certificates
    sudo update-ca-certificates
    

Die Eingabeaufforderung zeigt die folgende Ausgabe an:

 info    8 error responses loaded from devproxy-errors.json
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

Standardmäßig ist Dev Proxy für Folgendes konfiguriert:

  • Abfangen von Anforderungen an einen beliebigen JSON-Platzhalter-API-Endpunkt
  • Simulieren von API-Fehlerantworten und API-Drosselung mit einer Fehlerrate von 50 %

Abfangen von Anforderungen

Der Dev-Proxy abfangen Anforderungen an bekannte URLs von einer beliebigen Anwendung auf Ihrem Computer ab. Wenn eine Anforderung erkannt wird, übergibt Dev Proxy die Anforderung an die API (keine Aktion ergreifen), oder geben Sie eine Antwort zurück.

  • Senden Sie eine Anforderung an die JSON-Platzhalter-API über die Befehlszeile, und wechseln Sie zurück zum Proxyprozess, um die Ausgabe anzuzeigen.

Verwenden Sie in PowerShell das Invoke-WebRequest Cmdlet, um eine GET-Anforderung an die JSON-Platzhalter-API zu senden.

Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts

Wenn Sie eine GET-Anforderung verwenden curl, senden Sie mithilfe des folgenden Befehls eine GET-Anforderung an die JSON-Platzhalter-API.

curl -ix http://localhost:8000 https://jsonplaceholder.typicode.com/posts

Sie können auch einen API-Client wie Postman verwenden, um eine GET-Anforderung an .https://jsonplaceholder.typicode.com/posts

Ein Eintrag wird mit einigen grundlegenden Informationen über die eingehende Anforderung und die Aktion angezeigt, die Dev Proxy ausgeführt hat. Dev Proxy simuliert eine Fehlerantwort mit einer Chance von 50 %. Wenn Ihre Anforderung keinen Fehler zurückgibt, übergibt Dev Proxy ihn.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through
  • Wiederholen Sie das Senden von Anforderungen an die JSON-Platzhalter-API über die Befehlszeile, bis eine Fehlerantwort zurückgegeben wird.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 oops  ╰ 403 Forbidden

Wenn Dev Proxy eine Fehlerantwort zurückgibt, wird im Eintrag eine chaos Bezeichnung angezeigt.

  • Versuchen Sie, Anforderungen an andere Endpunkte zu senden, die in der JSON-Platzhalter-API verfügbar sind.
    • https://jsonplaceholder.typicode.com/posts
    • https://jsonplaceholder.typicode.com/posts/1
    • https://jsonplaceholder.typicode.com/posts/1/comments
    • https://jsonplaceholder.typicode.com/comments?postId=1

Sicheres Beenden des Dev-Proxys

Wenn Sie keinen Dev Proxy mehr ausführen müssen, sollten Sie ihn immer sicher beenden.

  • Drücken Sie STRG + C, um Dev Proxy sicher zu beenden.

Wenn Sie die Eingabeaufforderungssitzung herunterfahren, hebt Dev Proxy die Registrierung nicht ordnungsgemäß als Systemproxy auf, und möglicherweise treten einige häufige Probleme auf.

Aktualisieren der ZU überwachenden URLs

Der Dev-Proxy ist standardmäßig so konfiguriert, dass alle Anforderungen an die JSON-Platzhalter-API abgefangen werden. Sie können Dev Proxy so konfigurieren, dass Anforderungen an eine beliebige HTTP-API abgefangen werden.

  • Führen Sie an einer Eingabeaufforderung aus brew list dev-proxy , um den Installationsordner zu suchen.
  • Öffnen Sie den Dev Proxy-Installationsordner in Finder.
  • Öffnen devproxyrc.json Sie im Ordner "Dev Proxy-Installation" in einem Text-Editor.
  • Suchen Sie das urlsToWatch Array.
"urlsToWatch": [
  "https://jsonplaceholder.typicode.com/*"
],

Das urlsToWatch Array stellt die bekannten URLs dar. Dev Proxy überwacht Anforderungen vom aktuellen Eintrag an einen beliebigen Endpunkt. Der Eintrag verwendet ein Sternchen nach der URL als Wildcard. Durch das Hinzufügen weiterer Einträge zu diesem Array werden die URLs erweitert, auf die Dev Proxy achtet.

Betrachten wir, dass Dev Proxy keine Anforderungen abfangen soll, die an einem bestimmten Endpunkt vorgenommen wurden.

  • Fügen Sie dem Array einen neuen Eintrag hinzu urlsToWatch .
"urlsToWatch": [
  "!https://jsonplaceholder.typicode.com/posts/2",
  "https://jsonplaceholder.typicode.com/*"
],

Das Ausrufezeichen am Anfang der URL weist Dev Proxy an, alle Anforderungen zu ignorieren, die dieser URL entsprechen. Sie können Ausrufezeichen und Sternchen in einer URL kombinieren und abgleichen.

  • Geben Sie in der Befehlszeile die devproxy EINGABETASTE ein, und drücken Sie die EINGABETASTE , um dev Proxy zu starten.
  • Senden Sie eine Anforderung an https://jsonplaceholder.typicode.com/posts/2 die Befehlszeile, und zeigen Sie die Ausgabe an.

Wenn eine ignorierte URL mit einer Anforderung abgeglichen wird, verarbeitet Dev Proxy die Anforderung nicht, sodass keine Ausgabe angezeigt wird.

Die Reihenfolge, in der urlsToWatch die URLs im Array aufgeführt werden, ist wichtig. Dev Proxy verarbeitet diese URLs in der Reihenfolge. Wenn eine URL übereinstimmt, wird sie nicht erneut verarbeitet. Daher wird durch das Platzieren der URL zuerst sichergestellt, dass die Anforderung ignoriert wird, bevor die nächste URL verarbeitet wird.

Fehlerrate bei Änderungen

Der Dev-Proxy ist standardmäßig so konfiguriert, dass Anforderungen mit einer Chance von 50 % für URLs fehlschlagen, die überwacht werden. Sie können die Wahrscheinlichkeit erhöhen oder verringern, dass eine Anforderung eine Fehlerantwort zurückgibt.

Aktualisieren wir die Fehlerrate, sodass jede Anforderung an die JSON-Platzhalter-API eine Fehlerantwort zurückgibt.

  • Öffnen devproxyrc.json Sie im Ordner "Dev Proxy-Installation" in einem Text-Editor.
  • Suchen Sie die Eigenschaft rate, und ändern Sie den Wert von 50 in 100.

Die devproxyrc.json Datei enthält Konfigurationseinstellungen, die beim Starten von Dev Proxy verwendet werden. Beim Ändern der Konfigurationseinstellungen sollten Sie dev Proxy immer beenden und starten, damit die Änderungen beibehalten werden.

  • Geben Sie in der Befehlszeile die devproxy EINGABETASTE ein, und drücken Sie die EINGABETASTE , um dev Proxy zu starten.
  • Senden Sie eine Anforderung an die JSON-Platzhalter-API über die Befehlszeile, und zeigen Sie die Ausgabe an.

Alternativ können Sie Konfigurationseinstellungen zur Laufzeit überschreiben, indem Sie die --failure-rate Option beim Starten von Dev Proxy verwenden.

devproxy --failure-rate 100
  • Drücken Sie STRG + C, um Dev Proxy sicher zu beenden.

Simulieren der Drosselung

Standardmäßig gibt Dev Proxy einen Bereich von generischen 400- und 500-Fehlerantworten zurück. Sie können diese Fehlerantworten an Ihre eigenen Anforderungen anpassen.

Dev Proxy verwendet Plug-Ins , um unterschiedliche API-Verhaltensweisen zu aktivieren, standardmäßig aktivieren wir zwei Plug-Ins für Sie.

Ändern wir die Konfiguration so, dass Dev Proxy immer eine 429 Too Many requests Fehlerantwort zurückgibt, um die Drosselung zu simulieren.

Als Erstes suchen wir den Speicherort der Datei, die die Fehlerdefinitionen enthält.

  • Öffnen devproxyrc.json Sie im Ordner "Dev Proxy-Installation" in einem Text-Editor.
  • Suchen Sie im plugins Array den Eintrag für das GenericRandomErrorPlugin-Plug-In . Notieren Sie sich den Wert der configSection Eigenschaft.
  • Suchen Sie das genericRandomErrorPlugin Objekt weiter unten in der Datei. Notieren Sie sich den Wert der errorsFile Eigenschaft.

Tipp

Der Speicherort der Fehlerdatei wird auch in der Ausgabe angezeigt, wenn Sie Dev Proxy starten.

  • Öffnen devproxy-errors.json Sie im Ordner "Dev Proxy-Installation" in einem Text-Editor.
  • Entfernen Sie alle Antworteinträge im responses Array, mit Ausnahme der 429 Antwort.
{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.20.0/genericrandomerrorplugin.schema.json",
  "errors": [
    {
      "request": {
        "url": "https://jsonplaceholder.typicode.com/*"
      },
      "responses": [
        {
          "statusCode": 429,
          "body": {
            "message": "Too Many Requests",
            "details": "The user has sent too many requests in a given amount of time (\"rate limiting\")."
          },
          "headers": {
            "Retry-After": "@dynamic"
          }
        }
      ]
    }
  ]
}
  • Geben Sie in der Befehlszeile die devproxy EINGABETASTE ein, und drücken Sie die EINGABETASTE , um dev Proxy zu starten.
  • Senden Sie eine Anforderung an die JSON-Platzhalter-API über die Befehlszeile, und zeigen Sie die Ausgabe an.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 oops  ╰ 429 TooManyRequests
  • Drücken Sie STRG + C, um Dev Proxy sicher zu beenden.

Nächster Schritt

Erfahren Sie, wie Sie dev Proxy verwenden, um zufällige Fehler für Ihre eigene Anwendung zu simulieren.