web-dev-qa-db-fra.com

Simuler un CURL spécifique dans PostMan

J'utilise Postman pour tester certaines requêtes Curl adressées à un serveur API. Les développeurs d'API nous ont donné la commande curl, mais je ne peux pas l'envoyer à partir de Postman. Comment faire une telle demande du facteur?

curl -X POST "https://api-server.com/API/index.php/member/signin" -d "{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"[email protected]","pseudo":"example"}"

--0xKhTmLbOuNdArY
Content-Disposition: form-data; name="userfile"; filename="profil.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

<ffd8ffe0 00104a46 49460001 01010048 ... a00fffd9>

—0xKhTmLbOuNdArY—
92
Marin Bînzari

Une approche plus simple serait:

  1. Ouvrez POSTMAN
  2. Cliquez sur l'onglet "Importer" en haut à gauche.
  3. Sélectionnez l'option Texte brut et collez votre commande cURL.
  4. Appuyez sur Importer et vous aurez la commande dans votre constructeur Postman!

J'espère que cela t'aides!

258
Onkaar Singh
In addition to the answer
1. Open POSTMAN
2. Click on "import" tab on the upper left side.
3. Select the Raw Text option and paste your cURL command.
4. Hit import and you will have the command in your Postman builder!
5. If -u admin:admin are not imported, just go to the Authorization 
   tab, select Basic Auth -> enter the user name eg admin and password eg admin.
This will automatically generate Authorization header based on Base64 encoder
9
electricalbah

1) Mettez https://api-server.com/API/index.php/member/signin dans la zone de saisie de l’URL et choisissez POST dans le menu déroulant.

2) Dans l'onglet En-têtes, entrez:

Type de contenu: image/jpeg

Content-Transfer-Encoding: binaire

3) Dans l'onglet Corps, sélectionnez le bouton radio raw et écrivez:

{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"[email protected]","pseudo":"example"}

sélectionnez le bouton radio form-data et écrivez:

key = name Valeur = userfile Sélectionnez Text key = nom de fichier Sélectionnez File et chargez votre profil.jpg

4
hello_harry

J'ai essayé l'approche mentionnée par Onkaar Singh,

  1. Ouvrez POSTMAN
  2. Cliquez sur l'onglet "Importer" en haut à gauche.
  3. Sélectionnez l'option Texte brut et collez votre commande cURL.
  4. Appuyez sur Importer et vous aurez la commande dans votre constructeur Postman!

Mais le problème est que cela n'a pas fonctionné pour les Apis, ce qui nécessite une autorisation.

C'était ma demande de curl:

curl -v -H "Accept: application/json" -H "Content-type:
application/json" -X POST -d ' 
{"customer_id":"812122", "event":"add_to_cart", "email": "[email protected]", }' 
-u 9f4d7f5445e7: https://api.myapp.com/api/event

Après avoir importé le corps correctement importé, les en-têtes et l'URL ont également été importés. Seule la clé api 9f4d7f5445e7 qui est

-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event 

dans la demande curl n'a pas importé.

La façon dont j'ai résolu le problème est que -u est essentiellement utilisé pour l'autorisation. Ainsi, lorsque vous l'utilisez dans Postman, vous devez utiliser la clé API (9f4d7f5445e7 dans ce cas) et encoder en Base64. Une fois encodé, il retournera la valeur OWY0ZDdmNTQ0NWU3. Ajoutez ensuite un nouvel en-tête, le nom de la clé serait Authorization et la valeur de la clé serait Basic OWY0ZDdmNTQ0NWU3. Après avoir apporté ces modifications, la demande a fonctionné pour moi.

Il existe des encodeurs Base64 en ligne, celui que j'ai utilisé est http://www.url-encode-decode.com/base64-encode-decode/

J'espère que ça aide!!!

4
Rito

parfois, chaque fois que vous copiez cURL, il contient --compressed. Supprimez-le lors de l'importation-> Coller du texte brut -> cliquez sur importer. Cela résoudra également le problème si vous obtenez l'erreur de syntaxe dans postman lors de l'importation de n'importe quel cURL.

Généralement, lorsque des personnes copient cURL à partir d’outils proxy tels que Charles, cela se produit.

1
Ankit Gupta