在PostMan中模拟特定的CURL


153

我正在使用Postman测试对API服务器的一些Curl请求。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—

Answers:


422

一个更简单的方法是:

  1. 打开邮递员
  2. 单击左上角的“导入”选项卡。
  3. 选择“原始文本”选项,然后粘贴您的cURL命令。
  4. 点击import,您将在Postman构建器中获得命令!
  5. 单击发送以发布命令

希望这可以帮助!


4
在看到这篇文章之前,我不知道您能做到这一点。谢谢!
austinthedeveloper

3
这正是我想要的。谢谢!
约书亚舞

3
我尝试了一下,但它部分起作用。这是我的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也被导入了。只是-u 9f4d7f5445e7: https://api.myapp.com/api/v1/eventcurl请求中的api键9f4d7f5445e7 没有导入,或者邮递员可能跳过了它。知道如何解决吗?
Rito

1
我想出了自己导入curl cmd的方法。但是花了我一些时间才发现导入了curl的页面在哪里,导入文件/ cmd似乎什么也没有发生。然后,您需要单击右上角的“代码”按钮(在“保存”按钮下)。然后,您将看到您的卷发是否已加载。
zhihong '17

这种方法没有利用我编码的凭据,因此必须使用Auth> Basic Auth手动添加那些凭据,然后使用鼠标和下拉列表在实际请求中添加这些凭据。值得一提的是,我认为,由于该软件的行为使其似乎已接受并利用了信用:您所获得的只是“请提供有效的凭据”,而不是“请提供一些凭据”。
olisteadman '19

12
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

5

1)放入https://api-server.com/API/index.php/member/signin网址输入框,然后POST从下拉菜单中选择

2)在[标题]标签中,输入:

内容类型:图片/ jpeg

内容传输编码:二进制

3)在“正文”选项卡中,选择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单选按钮并输入:

键=名称值=用户Text 文件选择键=文件名选择File并上传您的profil.jpg


5

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

  1. 打开邮递员
  2. 单击左上角的“导入”选项卡。
  3. 选择“原始文本”选项,然后粘贴您的cURL命令。
  4. 点击import,您将在Postman构建器中获得命令!

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

这是我的卷曲要求:

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编码。编码后,它将返回该值OWY0ZDdmNTQ0NWU3。然后添加一个新的头,键名将是Authorization,键值将是Basic OWY0ZDdmNTQ0NWU3。进行更改后,该请求对我有用。

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

希望能帮助到你!!!


在邮递员的授权选项卡上,只需选择基本身份验证,它将生成Base64标头
Electricalbah

2

有时,无论何时复制cURL,它都包含--compressed。在导入->粘贴原始文本->单击导入时将其删除。如果您在导入任何cURL时在邮递员中遇到语法错误,也将解决该问题。

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


0

如上述多个答案中所述,您可以直接在POSTMAN中导入cURL。但是,如果URL被授权(或由于某些原因而无法使用),则建议您可以在邮递员正文中手动将所有数据点作为JSON添加。从cURL获取API URL。

对于Authorization部分,只需添加一个Authorization密钥和以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

{ "amount": "5000", "currency": "INR", "receipt": "Receipt #20", "payment_capture": "1" }

标头: Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J 其中“ cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS *** U056V25J”的编码形式为“ rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a”

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.