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.
- Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie
devproxy
ein, und drücken Sie die EINGABETASTE. - Vertrauenswürdiges Zertifikat. Dev Proxy installiert ein Zertifikat mit dem Namen
Dev Proxy CA
. Eine Warnung wird angezeigt. Wählen Sie diese OptionYes
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. - 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.
- Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie
devproxy
ein, und drücken Sie die EINGABETASTE. - 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. - Eingehende Verbindungen annehmen. Eine Warnung wird angezeigt. Wählen Sie diese Option
Allow
aus, um dies zu bestätigen.
Starten Sie Dev Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie
devproxy
ein, und drücken Sie die EINGABETASTE.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 Dev Proxy API listening on http://localhost:8897...
info Dev Proxy 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.
- Öffnen Sie die Dev Proxy-Konfigurationsdatei, indem Sie in der Befehlszeile ausgeführt werden:
devproxy config
. - 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 Sie die Dev Proxy-Konfigurationsdatei, indem Sie in der Befehlszeile ausgeführt werden:
devproxy config
. - Suchen Sie die Eigenschaft
rate
, und ändern Sie den Wert von50
in100
.
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.
- Das GenericRandomErrorPlugin-Plug-In bietet die Möglichkeit, dass Dev Proxy mit einer Fehlerantwort reagiert.
- Das RetryAfterPlugin-Plug-In bietet die Möglichkeit, dass Dev Proxy einen dynamischen Wert in den Retry-After-Header in der Fehlerantwort einfügt.
Ä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 Sie die Dev Proxy-Konfigurationsdatei, indem Sie in der Befehlszeile ausgeführt werden:
devproxy config
. - Suchen Sie im
plugins
Array den Eintrag für das GenericRandomErrorPlugin-Plug-In . Notieren Sie sich den Wert derconfigSection
Eigenschaft. - Suchen Sie das
genericRandomErrorPlugin
Objekt weiter unten in der Datei. Notieren Sie sich den Wert dererrorsFile
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 der429
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.