Delen via


Aan de slag met Dev Proxy

Dev Proxy is een opdrachtregelprogramma waarmee u gedrag en fouten van cloud-API's kunt simuleren om tolerante apps te bouwen.

In deze zelfstudie leert u hoe u Dev Proxy installeert, uitvoert en configureert.

Als u problemen ondervindt, aarzel dan niet om contact met ons op te nemen door een nieuw probleem op te stellen en wij helpen u graag.

Dev Proxy installeren

De eenvoudigste manier om Dev Proxy te installeren is door winget te gebruiken. U kunt dev proxy ook handmatig installeren.

Als u Dev Proxy wilt installeren met behulp van winget, voert u de volgende opdracht uit:

winget install Microsoft.DevProxy --silent

Belangrijk

Het installatieprogramma voor dev proxy voegt een nieuwe vermelding toe aan PATH. Als u Dev Proxy wilt gebruiken na de installatie, moet u de opdrachtprompt opnieuw starten om ervoor te zorgen dat de PATH-omgevingsvariabelen zijn vernieuwd.

Notitie

Installeer de bètaversie van Dev Proxy om de nieuwste preview-functies uit te proberen.

Als u Dev Proxy wilt installeren met behulp van winget, voert u de volgende opdracht uit:

winget install Microsoft.DevProxy.Beta --silent

De bètaversie van Dev Proxy gebruiken devproxy-beta

De eenvoudigste manier om Dev Proxy te installeren is door Homebrew te gebruiken. U kunt dev proxy ook handmatig installeren.

Voer de volgende opdrachten uit om Dev Proxy te installeren met Homebrew:

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

Notitie

Installeer de bètaversie van Dev Proxy om de nieuwste preview-functies uit te proberen.

Voer de volgende opdrachten uit om Dev Proxy te installeren met Homebrew:

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

De bètaversie van Dev Proxy gebruiken devproxy-beta

De eenvoudigste manier om Dev Proxy te installeren, is met behulp van het installatiescript. U kunt dev proxy ook handmatig installeren.

Voer de volgende opdrachten uit om Dev Proxy te installeren met behulp van het installatiescript:

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

Als u PowerShell gebruikt, voert u de volgende opdracht uit:

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

Notitie

Installeer de bètaversie van Dev Proxy om de nieuwste preview-functies uit te proberen.

Voer de volgende opdrachten uit om Dev Proxy te installeren met behulp van het installatiescript:

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

Als u PowerShell gebruikt, voert u de volgende opdracht uit:

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

De bètaversie van Dev Proxy gebruiken devproxy-beta

Dev Proxy voor de eerste keer starten

De eerste keer dat u Dev Proxy op uw computer start, moet u een paar stappen uitvoeren om ervoor te zorgen dat Dev Proxy aanvragen van uw computer kan onderscheppen en succesvol kan reageren. U hoeft deze stappen niet te herhalen na de eerste uitvoering.

  1. Start Dev Proxy. Open een opdrachtpromptsessie. Enter en druk op Enterdevproxy.
  2. Vertrouwenscertificaat. Dev Proxy installeert een certificaat met de naam Dev Proxy CA. Er wordt een waarschuwing weergegeven. Selecteer Yes deze optie om te bevestigen dat u het certificaat wilt installeren. Dev Proxy gebruikt dit certificaat om HTTPS-verkeer te ontsleutelen dat vanaf uw computer wordt verzonden.
  3. Firewalltoegang toestaan. Windows Firewall blokkeert de proxy. Er wordt een waarschuwing weergegeven. Selecteer Allow access de knop om verkeer via de firewall toe te staan.
  1. Start Dev Proxy. Open een opdrachtpromptsessie. Enter en druk op Enterdevproxy.
  2. Vertrouwenscertificaat. Dev Proxy installeert een certificaat met de naam Dev Proxy CA, dat wordt gebruikt voor het ontsleutelen van HTTPS-verkeer dat vanaf uw computer wordt verzonden. Er wordt een waarschuwing weergegeven. Druk op y om te bevestigen dat u het certificaat wilt vertrouwen.
  3. Binnenkomende verbindingen accepteren. Er wordt een waarschuwing weergegeven. Selecteer Allow deze optie om te bevestigen.
  1. Start Dev Proxy. Open een opdrachtpromptsessie. Enter en druk op Enterdevproxy.

  2. Vertrouwenscertificaat. Dev Proxy maakt gebruik van een aangepast SSL-certificaat om HTTPS-verkeer te ontsleutelen dat vanaf uw computer wordt verzonden.

    Belangrijk

    De volgende instructies zijn voor Ubuntu. Voor andere Linux-distributies kunnen de stappen verschillen.

    Als u het certificaat wilt installeren en vertrouwen, voert u in een nieuwe opdrachtprompt de volgende opdrachten uit:

    # 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
    

De opdrachtprompt geeft de volgende uitvoer weer:

 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

Dev Proxy is standaard geconfigureerd voor:

Onderscheppingsaanvragen

Dev Proxy onderschept aanvragen naar bekende URL's van elke toepassing op uw computer. Wanneer een aanvraag wordt gedetecteerd, geeft Dev Proxy de aanvraag door aan de API (geen actie ondernemen) of retourneert een antwoord.

  • Verzend een aanvraag naar de tijdelijke aanduiding voor JSON vanaf de opdrachtregel en ga terug naar het proxyproces om de uitvoer weer te geven.

Gebruik in PowerShell de Invoke-WebRequest cmdlet om een GET-aanvraag te verzenden naar de tijdelijke aanduiding voor JSON.

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

Als u deze gebruikt curl, verzendt u een GET-aanvraag naar de tijdelijke aanduidingen-API voor JSON met behulp van de volgende opdracht.

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

U kunt ook een API-client zoals Postman gebruiken om een GET-aanvraag naar te https://jsonplaceholder.typicode.com/postsverzenden.

Er wordt een vermelding weergegeven met enkele basisinformatie over de binnenkomende aanvraag en de actie die dev proxy heeft uitgevoerd. Dev Proxy simuleert een foutreactie met een kans van 50%. Als uw aanvraag geen fout retourneert, geeft Dev Proxy deze door.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through
  • Herhaal het verzenden van aanvragen naar de tijdelijke aanduiding voor JSON vanaf de opdrachtregel totdat er een foutantwoord wordt geretourneerd.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through

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

Wanneer Dev Proxy een foutbericht retourneert, wordt er een chaos label weergegeven in de vermelding.

  • Probeer aanvragen te verzenden naar andere eindpunten die beschikbaar zijn in de tijdelijke aanduidingen-API voor JSON
    • 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

Dev Proxy veilig stoppen

Wanneer u dev proxy niet meer nodig hebt om te worden uitgevoerd, moet u deze altijd veilig stoppen.

  • Druk op Ctrl + C om dev proxy veilig te stoppen.

Als u de opdrachtpromptsessie afsluit, wordt de registratie van dev proxy niet correct opgeheven als de systeemproxy en kunnen er enkele veelvoorkomende problemen optreden.

De URL's bijwerken om te bekijken

Dev Proxy is standaard geconfigureerd voor het onderscheppen van aanvragen die zijn gedaan bij de tijdelijke aanduiding voor JSON. U kunt Dev Proxy configureren voor het onderscheppen van aanvragen naar elke HTTP-API.

  • Open het configuratiebestand dev proxy door uit te voeren op de opdrachtregel: devproxy config.
  • Zoek de urlsToWatch matrix.
"urlsToWatch": [
  "https://jsonplaceholder.typicode.com/*"
],

De urlsToWatch matrix vertegenwoordigt de bekende URL's. Dev Proxy bekijkt aanvragen van de huidige vermelding naar een eindpunt. De vermelding gebruikt een sterretje na de URL als jokerteken. Als u meer vermeldingen toevoegt aan deze matrix, worden de URL's waarvoor Dev Proxy wordt uitgelogd, uitgebreid.

Laten we eens kijken of u niet wilt dat Dev Proxy aanvragen naar een specifiek eindpunt onderschept.

  • Voeg een nieuwe vermelding toe aan de urlsToWatch matrix.
"urlsToWatch": [
  "!https://jsonplaceholder.typicode.com/posts/2",
  "https://jsonplaceholder.typicode.com/*"
],

De uitroepteken aan het begin van de URL vertelt Dev Proxy om aanvragen te negeren die overeenkomen met die URL. U kunt uitroeptekens en sterretjes combineren in een URL.

  • Druk op de opdrachtregel op Enter devproxy en druk op Enter om de dev-proxy te starten.
  • Verzend een aanvraag vanaf https://jsonplaceholder.typicode.com/posts/2 de opdrachtregel en bekijk de uitvoer.

Wanneer een genegeerde URL overeenkomt met een aanvraag, verwerkt Dev Proxy de aanvraag niet en wordt er dus geen uitvoer weergegeven.

De volgorde waarin de URL's in de urlsToWatch matrix worden vermeld, is belangrijk. Dev Proxy verwerkt deze URL's in volgorde. Wanneer een URL overeenkomt, wordt deze niet opnieuw verwerkt. Daarom zorgt het plaatsen van de URL er eerst voor dat de aanvraag wordt genegeerd voordat de volgende URL wordt verwerkt.

Foutpercentage wijzigen

Dev Proxy is standaard geconfigureerd voor mislukte aanvragen met een kans van 50% op URL's die worden bekeken. U kunt de kans vergroten of verkleinen dat een aanvraag een foutmelding retourneert.

We gaan de foutfrequentie bijwerken zodat elke aanvraag voor de tijdelijke aanduiding voor de JSON-API een foutantwoord retourneert.

  • Open het configuratiebestand dev proxy door uit te voeren op de opdrachtregel: devproxy config.
  • Zoek de rate eigenschap en werk de waarde bij van 50 naar 100.

Het devproxyrc.json bestand bevat configuratie-instellingen die worden gebruikt wanneer u Dev Proxy start. Wanneer u configuratie-instellingen wijzigt, moet u de Dev Proxy altijd stoppen en starten om de wijzigingen te behouden.

  • Druk op de opdrachtregel op Enter devproxy en druk op Enter om de dev-proxy te starten.
  • Verzend een aanvraag naar de tijdelijke aanduidingS-API voor JSON vanaf de opdrachtregel en bekijk de uitvoer.

U kunt configuratie-instellingen ook tijdens runtime overschrijven met behulp van de optie bij het --failure-rate starten van Dev Proxy.

devproxy --failure-rate 100
  • Druk op Ctrl + C om dev proxy veilig te stoppen.

Beperking simuleren

Standaard retourneert Dev Proxy een bereik van algemene 400- en 500-foutreacties. U kunt deze foutreacties aanpassen aan uw eigen behoeften.

Dev Proxy maakt gebruik van invoegtoepassingen om verschillende API-gedrag in te schakelen. Standaard schakelen we twee invoegtoepassingen voor u in.

We gaan de configuratie wijzigen zodat Dev Proxy altijd een 429 Too Many requests foutreactie retourneert om beperking te simuleren.

Eerst gaan we de locatie zoeken van het bestand dat de foutdefinities bevat.

  • Open het configuratiebestand dev proxy door uit te voeren op de opdrachtregel: devproxy config.
  • Zoek in de plugins matrix de vermelding voor de invoegtoepassing GenericRandomErrorPlugin . Noteer de waarde van de configSection eigenschap.
  • Zoek het object verderop in het genericRandomErrorPlugin bestand. Noteer de waarde van de errorsFile eigenschap.

Tip

De locatie van het foutenbestand wordt ook weergegeven in de uitvoer wanneer u Dev Proxy start.

  • Open devproxy-errors.json in de map Dev Proxy-installatie in een teksteditor.
  • Verwijder alle antwoordvermeldingen in de responses matrix, met uitzondering van het 429 antwoord.
{
  "$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"
          }
        }
      ]
    }
  ]
}
  • Druk op de opdrachtregel op Enter devproxy en druk op Enter om de dev-proxy te starten.
  • Verzend een aanvraag naar de tijdelijke aanduidingS-API voor JSON vanaf de opdrachtregel en bekijk de uitvoer.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 oops  ╰ 429 TooManyRequests
  • Druk op Ctrl + C om dev proxy veilig te stoppen.

Volgende stap

Meer informatie over het gebruik van Dev Proxy om willekeurige fouten voor uw eigen toepassing te simuleren.