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—
Une approche plus simple serait:
J'espère que cela t'aides!
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
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
J'ai essayé l'approche mentionnée par Onkaar Singh,
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!!!
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.