【问题标题】:Simulate a specific CURL in PostMan在 PostMan 中模拟特定的 CURL
【发布时间】:2015-03-13 12:31:57
【问题描述】:

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

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—

【问题讨论】:

标签: curl httprequest postman


【解决方案1】:

更简单的方法是:

  1. 打开邮递员
  2. 点击左上角的“导入”标签。
  3. 选择原始文本选项并粘贴您的 cURL 命令。
  4. 点击导入,您将在 Postman 构建器中拥有该命令!
  5. 点击发送发布命令

【讨论】:

  • 直到我看到这篇文章,我才知道你能做到这一点。谢谢!
  • 这正是我想要的。谢谢!
  • 我试过了,它部分工作。这是我的 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 也已导入。只有 curl 请求中的 -u 9f4d7f5445e7: https://api.myapp.com/api/v1/event 的 api 密钥 9f4d7f5445e7 没有导入或者可能是邮递员跳过它。知道如何解决吗?
  • 我自己想办法导入 curl cmd。但是我花了一些时间来找出导入 curl 的页面在哪里,导入文件/cmd 时似乎什么也没发生。然后,您需要单击右上角的“代码”按钮(在保存按钮下)。然后你会看到你的 curl 是否被加载。
  • 这种方法没有利用我编码到其中的凭据,因此必须使用 Auth > Basic Auth 手动添加这些凭据,在实际请求中使用鼠标和下拉菜单。值得一提的是,我认为,因为该软件的行为似乎已经接受并使用了凭据:您得到的只是“请提供有效凭据”而不是“请提供一些凭据”。
【解决方案2】:

这是一个直观的答案

如需快速 1 分钟教程,请查看此视频 Run curl in Postman
==================================================== =====================

  1. 在右上角找到导入按钮

  2. 选择Raw并粘贴你的curl命令点击Continue -> Import

  3. 您可以确认请求 URL、参数和标头已正确导入。

【讨论】:

    【解决方案3】:

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

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

    否则会出现invalid format for cURL 错误。

    【讨论】:

      【解决方案4】:

      根据上面的答案,效果很好。

      如果我们在导入时粘贴带有授权数据的 curl 请求,Postman 将自动设置所有标头。如果需要,我们只在请求正文中传递行 JSON 数据或通过正文中的表单数据上传图像。

      这只是一个例子。你的 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
      

      【讨论】:

        【解决方案5】:

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

        对于授权部分 - 只需添加一个授权密钥和 base 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")(或使用邮递员基本授权)

        【讨论】:

          【解决方案6】:

          有时当你复制 cURL 时,它会包含 --compressed。 导入时将其删除->粘贴原始文本->单击导入。 如果您在导入任何 cURL 时遇到 postman 中的语法错误,它也将解决问题。

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

          【讨论】:

            【解决方案7】:
            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
            

            【讨论】:

              【解决方案8】:

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

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

              但问题是它不适用于需要授权的 API。

              这是我的 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
              

              在正确导入正文后,标题和网址也已导入。只有 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标头
              【解决方案9】:

              1) 在url输入框中输入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 key = filename 选择File 并上传您的profil.jpg

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2018-02-18
                • 2017-05-13
                • 2016-05-29
                • 2019-06-07
                • 2017-07-23
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多