我正在使用邮差测试一些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—
根据上面的答案,它工作得很好。
如果我们在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
我尝试了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/
希望能有所帮助!!