J'utilise Postman pour tester certaines requêtes Curl vers un serveur API. Les développeurs d'API nous ont donné la commande curl, mais je ne peux pas l'envoyer depuis le facteur. Comment faire une telle demande auprès 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—
curl
httprequest
postman
Marin Bînzari
la source
la source
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, les en-têtes et l'URL ont également été importés. Seule la clé api 9f4d7f5445e7 qui se trouve-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event
dans la requête curl n'a pas été importée ou peut être Postman l'a ignorée. Une idée comment le résoudre?la source
1) Mettez
https://api-server.com/API/index.php/member/signin
dans la zone de saisie de l'url et choisissezPOST
dans la liste déroulante2) Dans l'onglet En-têtes, entrez:
Type de contenu: image / jpeg
Content-Transfer-Encoding: binaire
3) Dans l'onglet Corps, sélectionnez le
raw
bouton radio 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
form-data
bouton radio et écrivez:key = name Value = userfile Select
Text
key = filename SélectionnezFile
et téléchargez votre profil.jpgla source
J'ai essayé l'approche mentionnée par Onkaar Singh,
Mais le problème est que cela n'a pas fonctionné pour les Apis qui nécessitent une autorisation.
C'était ma demande de curl:
Après l'importation, le corps a été importé correctement, les en-têtes et l'URL ont également été importés. Seule la clé api 9f4d7f5445e7 qui est
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. Donc, tout en l'utilisant dans Postman, vous devez prendre la clé API (ce qui est
9f4d7f5445e7
dans ce cas) et faire Encode Base64. Une fois encodé, il renverra la valeurOWY0ZDdmNTQ0NWU3
. Ensuite, ajoutez un nouvel en-tête, le nom de la clé seraitAuthorization
et la valeur de la clé seraitBasic OWY0ZDdmNTQ0NWU3
. Après avoir apporté ces modifications, la demande a fonctionné pour moi.Il existe des encodeurs Base64 en ligne disponibles, celui que j'ai utilisé est http://www.url-encode-decode.com/base64-encode-decode/
J'espère que ça aide!!!
la source
parfois, chaque fois que vous copiez cURL, il contient --compressed. Retirez-le lors de l'importation -> Coller le texte brut -> cliquez sur importer. Cela résoudra également le problème si vous obtenez une erreur de syntaxe dans Postman lors de l'importation de toute cURL.
Généralement, lorsque les gens copient cURL à partir de n'importe quel outil proxy comme Charles, cela se produit.
la source
Comme mentionné dans plusieurs réponses ci-dessus, vous pouvez importer directement la cURL dans POSTMAN. Mais si l'URL est autorisée (ou ne fonctionne pas pour une raison quelconque), vous suggérez que vous pouvez ajouter manuellement tous les points de données au format JSON dans votre corps de facteur. prenez l'URL de l'API de la cURL.
pour la partie Autorisation, ajoutez simplement une clé d'autorisation et une chaîne codée en base 64 comme valeur.
exemple:
curl -u rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a \ https://api.razorpay.com/v1/orders -X POST \ --data "amount=50000" \ --data "currency=INR" \ --data "receipt=Receipt #20" \ --data "payment_capture=1" https://api.razorpay.com/v1/orders
{ "amount": "5000", "currency": "INR", "receipt": "Receipt #20", "payment_capture": "1" }
En-têtes:
Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J
où "cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS *** U056V25J" est la forme codée de "rzp_test_26ccbdbfe0e84b: 69b2a24411e384b: 69b2a"petite astuce: pour l'encodage, vous pouvez facilement accéder à votre console chrome (clic droit => inspecter) et taper:
btoa("string you want to encode")
(ou utiliser l'autorisation de base postman)la source