Partager via


Prise en main du proxy de développement

Le proxy de développement est un outil en ligne de commande qui vous permet de simuler des comportements et des erreurs d’API cloud pour vous aider à créer des applications résilientes.

Dans ce tutoriel, vous allez apprendre à installer, exécuter et configurer le proxy de développement.

Si vous rencontrez des difficultés, n’hésitez pas à nous contacter en soulevant un nouveau problème et nous sommes heureux de vous aider.

Installer le proxy de développement

Le moyen le plus simple d’installer le proxy de développement consiste à utiliser winget. Vous pouvez également installer manuellement le proxy de développement.

Pour installer Dev Proxy à l’aide de winget, exécutez la commande suivante :

winget install Microsoft.DevProxy --silent

Important

Le programme d’installation du proxy de développement ajoute une nouvelle entrée à PATH. Pour utiliser le proxy de développement après l’installation, vous devez redémarrer l’invite de commandes pour vous assurer que les variables d’environnement PATH ont été actualisées.

Remarque

Pour essayer les dernières fonctionnalités en préversion, installez la version bêta du proxy de développement.

Pour installer Dev Proxy à l’aide de winget, exécutez la commande suivante :

winget install Microsoft.DevProxy.Beta --silent

Pour exécuter la version bêta du proxy de développement, utilisez devproxy-beta

Le moyen le plus simple d’installer le proxy de développement consiste à utiliser Homebrew. Vous pouvez également installer manuellement le proxy de développement.

Pour installer le proxy de développement à l’aide de Homebrew, exécutez les commandes suivantes :

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

Remarque

Pour essayer les dernières fonctionnalités en préversion, installez la version bêta du proxy de développement.

Pour installer le proxy de développement à l’aide de Homebrew, exécutez les commandes suivantes :

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

Pour exécuter la version bêta du proxy de développement, utilisez devproxy-beta

Le moyen le plus simple d’installer le proxy de développement consiste à utiliser le script d’installation. Vous pouvez également installer manuellement le proxy de développement.

Pour installer le proxy de développement à l’aide du script d’installation, exécutez les commandes suivantes :

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

Si vous utilisez PowerShell, exécutez la commande suivante :

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

Remarque

Pour essayer les dernières fonctionnalités en préversion, installez la version bêta du proxy de développement.

Pour installer le proxy de développement à l’aide du script d’installation, exécutez les commandes suivantes :

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

Si vous utilisez PowerShell, exécutez la commande suivante :

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

Pour exécuter la version bêta du proxy de développement, utilisez devproxy-beta

Démarrer le proxy de développement pour la première fois

La première fois que vous démarrez le proxy de développement sur votre ordinateur, vous devez suivre quelques étapes pour vous assurer que le proxy de développement peut intercepter les requêtes de votre ordinateur et répondre correctement. Vous n’aurez pas à répéter ces étapes après la première exécution.

  1. Démarrez le proxy de développement. Ouvrez une session d’invite de commandes. Entrez devproxy, puis appuyez sur Entrée.
  2. Certificat d’approbation. Le proxy de développement installe un certificat nommé Dev Proxy CA. Un avertissement s’affiche. Sélectionnez cette option Yes pour confirmer que vous souhaitez installer le certificat. Le proxy de développement utilise ce certificat pour déchiffrer le trafic HTTPS envoyé à partir de votre ordinateur.
  3. Autoriser l’accès au pare-feu. Le Pare-feu Windows bloque le proxy. Un avertissement s’affiche. Sélectionnez Allow access le bouton pour autoriser le trafic via le pare-feu.
  1. Démarrez le proxy de développement. Ouvrez une session d’invite de commandes. Entrez devproxy, puis appuyez sur Entrée.
  2. Certificat d’approbation. Le proxy de développement installe un certificat nommé Dev Proxy CA, qu’il utilise pour déchiffrer le trafic HTTPS envoyé à partir de votre machine. Un avertissement s’affiche. Appuyez sur y pour confirmer que vous souhaitez approuver le certificat.
  3. Acceptez les connexions entrantes. Un avertissement s’affiche. Sélectionnez cette option Allow pour confirmer.
  1. Démarrez le proxy de développement. Ouvrez une session d’invite de commandes. Entrez devproxy, puis appuyez sur Entrée.

  2. Certificat d’approbation. Le proxy de développement utilise un certificat SSL personnalisé pour déchiffrer le trafic HTTPS envoyé à partir de votre ordinateur.

    Important

    Les instructions suivantes concernent Ubuntu. Pour les autres distributions Linux, les étapes peuvent différer.

    Pour installer et approuver le certificat, dans une nouvelle invite de commandes, exécutez les commandes suivantes :

    # 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
    

L’invite de commandes affiche la sortie suivante :

 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

Par défaut, le proxy de développement est configuré pour :

  • Intercepter les demandes adressées à n’importe quel point de terminaison d’API d’espace réservé JSON
  • Simuler des réponses d’erreur d’API et une limitation d’API avec un taux d’échec de 50 %

Intercepter les requêtes

Le proxy de développement intercepte les demandes adressées aux URL connues de n’importe quelle application sur votre ordinateur. Lorsqu’une demande est détectée, le proxy de développement transmet la requête à l’API (sans action) ou retourne une réponse.

  • Envoyez une demande à l’API d’espace réservé JSON à partir de la ligne de commande et revenez au processus proxy pour afficher la sortie.

Dans PowerShell, utilisez l’applet Invoke-WebRequest de commande pour envoyer une requête GET à l’API d’espace réservé JSON.

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

Si vous utilisez curl, envoyez une requête GET à l’API d’espace réservé JSON à l’aide de la commande suivante.

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

Vous pouvez également utiliser un client d’API comme Postman pour envoyer une requête GET à https://jsonplaceholder.typicode.com/posts.

Une entrée s’affiche avec des informations de base sur la requête entrante et l’action effectuée par le proxy de développement. Le proxy de développement simule une réponse d’erreur avec une probabilité de 50 %. Si votre demande ne retourne pas d’erreur, le proxy de développement le transmet.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through
  • Répétez l’envoi de requêtes à l’API d’espace réservé JSON à partir de la ligne de commande jusqu’à ce qu’une réponse d’erreur soit retournée.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 api   ╰ Passed through

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

Lorsque le proxy de développement retourne une réponse d’erreur, une chaos étiquette s’affiche dans l’entrée.

  • Essayez d’envoyer des demandes à d’autres points de terminaison disponibles sur l’API d’espace réservé 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

Arrêter le proxy de développement en toute sécurité

Lorsque vous n’avez plus besoin que le proxy de développement soit en cours d’exécution, vous devez toujours l’arrêter en toute sécurité.

  • Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.

Si vous arrêtez la session d’invite de commandes, le proxy de développement n’annule pas l’inscription correctement en tant que proxy système et vous risquez de rencontrer des problèmes courants.

Mettre à jour les URL pour regarder

Par défaut, le proxy de développement est configuré pour intercepter toutes les requêtes adressées à l’API d’espace réservé JSON. Vous pouvez configurer le proxy de développement pour intercepter les requêtes sur n’importe quelle API HTTP.

  • Dans une invite de commandes, exécutez brew list dev-proxy pour localiser le dossier d’installation.
  • Ouvrez le dossier d’installation du proxy de développement dans Finder.
  • Dans le dossier d’installation du proxy de développement, ouvrez-le devproxyrc.json dans un éditeur de texte.
  • Recherchez le urlsToWatch tableau.
"urlsToWatch": [
  "https://jsonplaceholder.typicode.com/*"
],

Le urlsToWatch tableau représente les URL connues. Le proxy de développement surveille les demandes de l’entrée actuelle vers n’importe quel point de terminaison. L’entrée utilise un astérisque après l’URL comme caractère générique. L’ajout d’entrées supplémentaires dans ce tableau développe les URL que le proxy de développement surveille.

Considérons que vous ne souhaitez pas que le proxy de développement intercepte les demandes adressées à un point de terminaison spécifique.

  • Ajoutez une nouvelle entrée au urlsToWatch tableau.
"urlsToWatch": [
  "!https://jsonplaceholder.typicode.com/posts/2",
  "https://jsonplaceholder.typicode.com/*"
],

Le point d’exclamation au début de l’URL indique au proxy de développement d’ignorer les requêtes qui correspondent à cette URL. Vous pouvez combiner et mettre en correspondance des marques d’exclamation et des astérisques dans une URL.

  • Sur la ligne de commande, entrez et appuyez devproxysur Entrée pour démarrer le proxy de développement.
  • Envoyez une demande à https://jsonplaceholder.typicode.com/posts/2 partir de la ligne de commande et affichez la sortie.

Une entrée s’affiche pour confirmer que la demande a été ignorée et transmise à l’API.

 req   ╭ GET https://jsonplaceholder.typicode.com/posts/2
 api   ╰ Passed through

L’ordre dans lequel les URL sont répertoriées dans le urlsToWatch tableau est important. Le proxy de développement traite ces URL dans l’ordre. Lorsqu’une URL correspond, elle n’est plus traitée. Par conséquent, le placement de l’URL garantit d’abord que la requête est ignorée avant le traitement de l’URL suivante.

Taux d’échec des modifications

Par défaut, le proxy de développement est configuré pour échouer les requêtes avec une chance de 50 % pour les URL qui sont surveillées. Vous pouvez augmenter ou diminuer la probabilité qu’une demande retourne une réponse d’erreur.

Nous allons mettre à jour le taux d’échec afin que chaque requête adressée à l’API d’espace réservé JSON retourne une réponse d’erreur.

  • Dans le dossier d’installation du proxy de développement, ouvrez-le devproxyrc.json dans un éditeur de texte.
  • Recherchez la propriété rate et remplacez la valeur 50 par 100.

Le devproxyrc.json fichier contient les paramètres de configuration utilisés lors du démarrage du proxy de développement. Lors de la modification des paramètres de configuration, vous devez toujours arrêter et démarrer le proxy de développement pour que les modifications soient conservées.

  • Sur la ligne de commande, entrez et appuyez devproxysur Entrée pour démarrer le proxy de développement.
  • Envoyez une requête à l’API d’espace réservé JSON à partir de la ligne de commande et affichez la sortie.

Vous pouvez également remplacer les paramètres de configuration au moment de l’exécution à l’aide de l’option --failure-rate lors du démarrage du proxy de développement.

devproxy --failure-rate 100
  • Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.

Simuler la limitation

Par défaut, le proxy de développement retourne une plage de réponses d’erreur génériques 400 et 500. Vous pouvez personnaliser ces réponses d’erreur à vos propres besoins.

Le proxy de développement utilise des plug-ins pour activer différents comportements d’API, par défaut, nous allons activer deux plug-ins pour vous.

Modifions la configuration afin que le proxy de développement retourne toujours une 429 Too Many requests réponse d’erreur pour simuler la limitation.

Tout d’abord, nous allons localiser l’emplacement du fichier qui contient les définitions d’erreur.

  • Dans le dossier d’installation du proxy de développement, ouvrez-le devproxyrc.json dans un éditeur de texte.
  • Dans le plugins tableau, recherchez l’entrée du plug-in GenericRandomErrorPlugin . Notez la valeur de la configSection propriété.
  • Plus loin dans le fichier, recherchez l’objet genericRandomErrorPlugin . Notez la valeur de la errorsFile propriété.

Conseil

L’emplacement du fichier d’erreurs s’affiche également dans la sortie lorsque vous démarrez le proxy de développement.

  • Dans le dossier d’installation du proxy de développement, ouvrez-le devproxy-errors.json dans un éditeur de texte.
  • Supprimez toutes les entrées de réponse dans le responses tableau, à l’exception de la 429 réponse.
{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.18.0/genericrandomerrorplugin.schema.json",
  "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"
      }
    }
  ]
}
  • Sur la ligne de commande, entrez et appuyez devproxysur Entrée pour démarrer le proxy de développement.
  • Envoyez une requête à l’API d’espace réservé JSON à partir de la ligne de commande et affichez la sortie.
 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 oops  ╰ 429 TooManyRequests
  • Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.

Étape suivante

Découvrez comment utiliser le proxy de développement pour simuler des erreurs aléatoires pour votre propre application.