在PostMan中模拟一个特定的CURL

我正在使用邮差测试一些Curl请求到API服务器。API开发人员给了我们curl命令,但我不能从邮递员发送它。如何向邮差提出这样的要求?

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@example.com","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—
376339 次浏览

1)在url输入框中输入https://api-server.com/API/index.php/member/signin,在下拉框中选择POST

2)在Headers页签中输入:

内容类型:图像/ jpeg

Content-Transfer-Encoding:二进制

3)在Body选项卡中,选择raw单选按钮并写入:

{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}

选择form-data单选按钮并写入:

key = name Value = userfile选择Text 选择File并上传你的profile .jpg

一个更简单的方法是:

  1. 开放的邮递员
  2. 点击“导入”;标签在左上方。
  3. 选择Raw Text选项并粘贴cURL命令。
  4. 点击导入,您将在您的邮差构建器中拥有命令!
  5. 单击Send发送命令

我尝试了Onkaar Singh提到的方法,

  1. 开放的邮递员
  2. 点击左上角的“导入”标签。
  3. 选择Raw Text选项并粘贴cURL命令。
  4. 点击导入,您将在您的邮差构建器中拥有命令!

但问题是,它并不适用于需要授权的Apis。

这是我的curl请求:

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

在正确导入正文之后,也导入了标题和Url。只有api密钥9f4d7f5445e7

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

在curl请求中没有导入。

我解决的方法是,-u主要用于授权。因此,当在Postman中使用它时,你必须获取API键(在本例中是9f4d7f5445e7)并执行Base64 Encode。一旦编码,它将返回值OWY0ZDdmNTQ0NWU3。然后添加一个新头,键名将是Authorization,键值将是Basic OWY0ZDdmNTQ0NWU3。在做了这些改变之后,这个请求对我来说是有效的。

有在线的Base64编码器可用,我使用的是http://www.url-encode-decode.com/base64-encode-decode/

希望能有所帮助!!

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

有时当你复制cURL时,它包含——compressed。 删除它,同时导入->粘贴原始文本->点击导入。 它还可以解决在导入任何cURL时在postman中出现语法错误的问题

通常,当人们从任何代理工具(如Charles)复制cURL时,就会发生这种情况。

如上所述,您可以直接在POSTMAN中导入cURL。但如果URL是授权的(或由于某种原因不工作) 我建议您可以手动将所有数据点作为JSON添加到邮差体中。从cURL中获取API URL。

对于授权部分-只需添加一个授权密钥和基于64编码的字符串作为值。

例子:

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

< p > <代码> { “金额”:“5000”, “货币”:“INR”, “收据”:“收据#20”, “payment_capture”:“1” 代码}< / > < / p > < p >标题: Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J 其中“cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J”是“rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a”的编码形式

小提示:对于编码,您可以轻松地进入chrome控制台(右键单击=> inspect)并键入: btoa("string you want to encode")(或使用邮递员基本授权)

根据上面的答案,它工作得很好。

如果我们在import中粘贴带有授权数据的curl请求,Postman将自动设置所有头信息。如果需要,我们只在请求体中传递行JSON数据,或者在请求体中通过form-data上传图像。

这只是一个例子。你的API应该是一个不同的(如果你的API允许的话)

curl -X POST 'https://verifyUser.abc.com/api/v1/verification' \
-H 'secret: secret' \
-H 'email: user@gmail.com' \
-H 'accept: application/json, text/plain, */*' \
-H 'authorizationtoken: bearer' \
-F 'referenceFilePath= Add file path' \
--compressed

当你使用Chrome copy as cURL (bash)并在Postman中导入时,你需要做以下事情:

  1. 删除--compressed选项
  2. -d替换--data-raw

否则你会得到invalid format for cURL错误。

这里有一个直观的答案

要获得1分钟的快速教程,请查看此视频在邮差里跑步
======================================================================= < br > < / p >
    在右上角找到进口按钮 enter image description here < / p >
  1. 选择并粘贴您的curl命令单击继续->进口 enter image description here < / p >

  2. 确认request URL、params、headers是否正确导入。 enter image description here < / p >