我正在使用邮差测试一些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—
1)在url输入框中输入https://api-server.com/API/index.php/member/signin,在下拉框中选择POST
2)在Headers页签中输入:
内容类型:图像/ jpeg
Content-Transfer-Encoding:二进制
3)在Body选项卡中,选择raw单选按钮并写入:
{“描述”:“”,“电话”:“”,“姓”:“”,“app_version”:“2.6.2”、“firstname”:“”,“密码”:“my_pass”、“城市”:“”,“apikey”:“213”,“朗”:“fr”、“平台”:“1”,“电子邮件”:“email@example.com”、“伪”:“例子”}
选择form-data单选按钮并写入:
key = name Value = userfile选择文本
选择文件并上传你的profile .jpg
我尝试了Onkaar Singh提到的方法,
开放的邮递员
点击左上角的“导入”标签。
选择Raw Text选项并粘贴cURL命令。
点击导入,您将在您的邮差构建器中拥有命令!
但问题是,它并不适用于需要授权的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/
希望能有所帮助!!
如上面的多个答案所述,您可以直接在POSTMAN中导入cURL。但如果URL是授权的(或由于某种原因不工作)
我建议您可以手动将所有数据点作为JSON添加到邮差体中。从cURL中获取API URL。
对于授权部分-只需添加一个授权密钥和基于64编码的字符串作为值。
例子:
curl -u rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a \ https://api.razorpay.com/v1/orders -X POST \——data "金额=50000" \——data "货币=INR" \——data "收据=收据#20" \——data "payment_capture=1" https://api.razorpay.com/v1/orders
{
“金额”:“5000”,
“货币”:“INR”,
“收据”:“收据#20”,
“payment_capture”:“1”
}
标题:
授权:基本cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS * * * U056V25J
其中“cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J”是“rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a”的编码形式
小提示:对于编码,你可以很容易地去你的chrome控制台(右键单击=> inspect)并输入:
Btoa(“你想编码的字符串”)(或使用邮递员基本授权)
根据上面的答案,它工作得很好。
如果我们在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