在 PostMan 中模拟特定的 CURL
Simulate a specific CURL in PostMan
我正在使用 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—
1) 在url输入框中输入https://api-server.com/API/index.php/member/signin
,然后在下拉菜单中选择POST
2) 在 Headers 选项卡中,输入:
Content-Type: image/jpeg
Content-Transfer-Encoding: 二进制
3) 在 Body 选项卡中,select 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"}
select form-data
单选按钮并写入:
键=名称值=用户文件SelectText
key = filename Select File
并上传你的 profil.jpg
更简单的方法是:
- 打开 POSTMAN
- 单击左上角的“导入”选项卡。
- Select 原始文本选项并粘贴您的 cURL 命令。
- 点击导入,您将在 Postman 构建器中拥有该命令!
- 单击发送到 post 命令
我尝试了 Onkaar Singh 提到的方法,
- 打开 POSTMAN
- 单击左上角的 "import" 选项卡。
- Select 原始文本选项并粘贴您的 cURL 命令。
- 点击导入,您将在您的 Postman 构建器中拥有该命令!
但问题是它对需要授权的 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
导入后 body 被正确导入,header 和 Url 也被导入。只有 api 键 9f4d7f5445e7 即
-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event
在curl请求中没有导入。
我解决的方法是,-u基本上是用来授权的。因此,在 Postman 中使用它时,您必须使用 API 键(在本例中为 9f4d7f5445e7
)并进行 Base64 编码。一旦编码,它将 return 值 OWY0ZDdmNTQ0NWU3
。然后添加一个新的header,键名是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 时在邮递员中遇到语法错误,它也会解决问题。
通常,当人们从 Charles 等任何代理工具复制 cURL 时,就会发生这种情况。
如上面多个答案中所述,您可以直接在 POSTMAN 中导入 cURL。但是如果 URL 被授权(或由于某种原因不工作)
我建议您可以在邮递员 body 中手动将所有数据点添加为 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"
}
Headers:
Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J
其中 "cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J" 是 "rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a"`
的编码形式
小提示:对于编码,您可以轻松地转到 chrome 控制台(right-click => 检查)并键入:
btoa("string you want to encode")
(或使用postman基本授权)
按照上面的回答,效果很好。
如果我们在导入时粘贴带有授权数据的 curl 请求,Postman 将自动设置所有 headers。如果需要,我们只在请求 body 中传递行 JSON 数据,或者在 body.
中通过 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
当你使用Chromecopy as cURL (bash)
并在Postman中导入时,你需要做以下事情:
- 删除
--compressed
选项
- 将
--data-raw
替换为-d
否则你会得到 invalid format for cURL
错误。
这是一个直观的答案
有关 1 分钟的快速教程,请观看此视频 Run curl in Postman
================================================ =====================
我正在使用 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—
1) 在url输入框中输入https://api-server.com/API/index.php/member/signin
,然后在下拉菜单中选择POST
2) 在 Headers 选项卡中,输入:
Content-Type: image/jpeg
Content-Transfer-Encoding: 二进制
3) 在 Body 选项卡中,select 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"}
select form-data
单选按钮并写入:
键=名称值=用户文件SelectText
key = filename Select File
并上传你的 profil.jpg
更简单的方法是:
- 打开 POSTMAN
- 单击左上角的“导入”选项卡。
- Select 原始文本选项并粘贴您的 cURL 命令。
- 点击导入,您将在 Postman 构建器中拥有该命令!
- 单击发送到 post 命令
我尝试了 Onkaar Singh 提到的方法,
- 打开 POSTMAN
- 单击左上角的 "import" 选项卡。
- Select 原始文本选项并粘贴您的 cURL 命令。
- 点击导入,您将在您的 Postman 构建器中拥有该命令!
但问题是它对需要授权的 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
导入后 body 被正确导入,header 和 Url 也被导入。只有 api 键 9f4d7f5445e7 即
-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event
在curl请求中没有导入。
我解决的方法是,-u基本上是用来授权的。因此,在 Postman 中使用它时,您必须使用 API 键(在本例中为 9f4d7f5445e7
)并进行 Base64 编码。一旦编码,它将 return 值 OWY0ZDdmNTQ0NWU3
。然后添加一个新的header,键名是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 时在邮递员中遇到语法错误,它也会解决问题。
通常,当人们从 Charles 等任何代理工具复制 cURL 时,就会发生这种情况。
如上面多个答案中所述,您可以直接在 POSTMAN 中导入 cURL。但是如果 URL 被授权(或由于某种原因不工作) 我建议您可以在邮递员 body 中手动将所有数据点添加为 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"
}
Headers:
Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J
其中 "cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J" 是 "rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a"`
小提示:对于编码,您可以轻松地转到 chrome 控制台(right-click => 检查)并键入:
btoa("string you want to encode")
(或使用postman基本授权)
按照上面的回答,效果很好。
如果我们在导入时粘贴带有授权数据的 curl 请求,Postman 将自动设置所有 headers。如果需要,我们只在请求 body 中传递行 JSON 数据,或者在 body.
中通过 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
当你使用Chromecopy as cURL (bash)
并在Postman中导入时,你需要做以下事情:
- 删除
--compressed
选项 - 将
--data-raw
替换为-d
否则你会得到 invalid format for cURL
错误。
这是一个直观的答案
有关 1 分钟的快速教程,请观看此视频 Run curl in Postman
================================================ =====================