我正在使用 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—
一个更简单的方法是:
打开 POSTMAN 单击左上角的“导入”选项卡。选择原始文本选项并粘贴您的 cURL 命令。点击导入,您将在 Postman 构建器中拥有该命令!单击发送以发布命令
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
我尝试了 Onkaar Singh 提到的方法,
打开 POSTMAN 单击左上角的“导入”选项卡。选择原始文本选项并粘贴您的 cURL 命令。点击导入,您将在 Postman 构建器中拥有该命令!
但问题是它不适用于需要授权的 API。
这是我的卷曲请求:
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/
希望能帮助到你!!!
1) 将 https://api-server.com/API/index.php/member/signin
放入 url 输入框中,然后从下拉列表中选择 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
并上传您的 profile.jpg
当您使用 Chrome copy as cURL (bash)
并在 Postman 中导入时,您需要执行以下操作:
删除 --compressed 选项 将 --data-raw 替换为 -d
否则你会得到 invalid format for cURL
错误。
这是一个视觉答案
有关 1 分钟的快速教程,请查看此视频 Run curl in Postman
=================================== ======================================
找到右上角的 Import 按钮 选择 Raw 并粘贴您的 curl 命令单击 Continue -> Import 您可以确认请求 URL、参数和标头已正确导入。
有时,每当您复制 cURL 时,它都会包含 --compressed。导入时将其删除->粘贴原始文本->单击导入。如果您在导入任何 cURL 时在邮递员中遇到语法错误,它也将解决问题。
通常,当人们从任何代理工具(如 Charles)复制 cURL 时,就会发生这种情况。
如上面多个答案中所述,您可以直接在 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")
(或使用邮递员基本授权)
根据上面的答案,它运作良好。
如果我们在导入时粘贴带有授权数据的 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
不定期副业成功案例分享
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 没有导入或可能被邮递员跳过。知道如何解决吗?