web-dev-qa-db-fra.com

Comment tester REST API en utilisant l'extension "Advanced Rest Client" de Chrome

En suivant les instructions du lien ci-dessous, j'ai construit avec succès une API REST pour mon application Django: http://Django-rest-framework.org/tutorial/quickstart .

Je peux le tester en procédant comme suit depuis l'invite Unix:

curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/

Ça marche :)

Cependant, je voudrais utiliser l'extension Chrome Advanced Rest Client pour tester cette même fonctionnalité. J'ai installé l'extension, mais je ne sais pas où/comment mettre les champs. Quand je fais mon hypothèse (comme vous pouvez le voir sur la capture d'écran), il la rejette en disant "Les informations d'authentification n'ont pas été fournies"

screenshot of failing request

Comment/où dois-je spécifier mes paramètres dans l'API REST?

88
Saqib Ali

La possibilité de découverte est décevante, mais la manière dont Advanced Rest Client gère l’authentification de base est plutôt intelligente. Le raccourci mentionné par Abraham ne fonctionnait pas pour moi, mais une petite fouille a révélé comment il s'y prend.

La première chose à faire est d’ajouter l’en-tête Authorizationmenus

Ensuite, une petite chose astucieuse apparaît lorsque vous vous concentrez sur l'entrée value (notez le champ "construction" en bas à droite): construct the auth value

En cliquant dessus, une boîte apparaîtra. Il fait même OAuth, si vous voulez! convenient inputs

Tada! Si vous laissez le champ de valeur vide lorsque vous cliquez sur "Construire", cela ajoutera la partie Basic (je suppose que cela ajoutera également le nécessaire OAuth, mais je ne l'ai pas fait. essayez pas, car mes besoins actuels étaient pour l’authentification de base), vous n’avez donc pas besoin de faire quoi que ce soit. fills in the field as needed

98
Shauna

Sur la capture d'écran, je peux voir que vous souhaitez transmettre les valeurs "utilisateur" et "mot de passe" au service. Vous avez envoyé les valeurs de paramètre dans la partie d'en-tête de la demande qui est erronée. Les valeurs sont envoyées dans le corps de la demande et non dans l'en-tête de la demande. De plus, votre syntaxe est fausse. La syntaxe correcte est la suivante: {"user":"user_val","password":"password_val"}. Vérifiez également quel est le type de contenu. Il doit correspondre au type de contenu que vous avez défini pour votre service.

10
pan1490

Cela semble être une très vieille question, mais je réponds de manière à pouvoir aider les autres. Vous pouvez spécifier les variables dans le deuxième écran de la section formulaire, comme indiqué ci-dessous ou au format RAW, en ajoutant les variables comme indiqué dans la deuxième image.

Specify Form Variables

Specify in RAW format

Si votre variable et vos valeurs de variable sont valides, vous devriez voir une réponse réussie dans la section Réponse.

7
Angela

Le format de raccourci généralement utilisé pour l'authentification de base est http://username:[email protected]/path. Vous voudrez également inclure l'en-tête accept dans la demande.

enter image description here

6
abraham

Ajoutez un en-tête d'autorisation et cliquez sur le bouton du crayon pour saisir le nom d'utilisateur et les mots de passe.

enter image description here

3
Ahmad Nadeem

dans la section d'en-tête, vous devez écrire

Autorisation: Base aG9sY67890vbGNpbQ ==

où chaîne après base est la valeur de codage 64 bits de votre nom d'utilisateur: mot de passe. L'exemple php d'obtention des valeurs d'en-tête est: echo "Autorisation: Basic". base64_encode ("myUser: myPassword");

n.b: J'ai supposé que votre méthode d'authentification était basique. qui peut être différent aussi.

3
Muktadir

Avec la dernière demande ARC for GET avec authentification, il est nécessaire d’ajouter un en-tête brut nommé Authorization: authtoken.

S'il vous plaît trouver la capture d'écran Obtenir une demande avec authentification et paramètres de requête

Pour ajouter un paramètre de requête, cliquez sur la flèche déroulante située à gauche de la zone URL.

0
Sagar Misal

Le moyen le plus simple de surmonter ce problème d'authentification consiste à voler un jeton d'authentification à l'aide de Fiddler.

Pas

  1. Lancez le violoneux et le navigateur.
  2. Naviguez dans le navigateur pour ouvrir l'application Web (site Web) et effectuez l'authentification requise.
  3. Ouvrez Fiddler et cliquez sur Demande de page HTTP 200 HTML. Capturing cookie value using Fiddler
  4. Dans le volet de droite, à partir des en-têtes de requête, copiez la valeur du paramètre d'en-tête de cookie. enter image description here
  5. Ouvrez REST Client, cliquez sur l'onglet "En-tête" et indiquez la valeur du cookie à partir du presse-papiers.

Cliquez sur le bouton ENVOYER et les résultats seront récupérés.

0