【问题标题】:CURL to POSTMAN卷曲到邮递员
【发布时间】:2015-08-21 19:10:14
【问题描述】:
$ curl https://api.blockscore.com/question_sets/536c1532627463780b000000/score \
-u sk_test_n5049aa6053c9a0217bea78070fbf501: \
--header "Accept: application/vnd.blockscore+json;version=4" \
-d 'answers[][question_id]=1' \
-d 'answers[][answer_id]=3' \
-d 'answers[][question_id]=2' \
-d 'answers[][answer_id]=2' \
-d 'answers[][question_id]=3' \
-d 'answers[][answer_id]=2' \
-d 'answers[][question_id]=4' \
-d 'answers[][answer_id]=2' \
-d 'answers[][question_id]=5' \
-d 'answers[][answer_id]=5'
如何在getpostman中设置这个参数?
什么相当于-u、--header、-d?
【问题讨论】:
标签:
api
curl
http-headers
postman
【解决方案1】:
cURL 中默认的Content-Type 是application/x-www-form-urlencoded。在 Postman 中,您只需选择 x-www-form-urlencoded 按钮并开始输入您的键值对,即
Key Value
answers[][question_id] 1
对于--header,右上角有一个Headers 按钮。单击它时,您还将看到要输入标题值对的字段。只需在左侧输入Accept,在右侧输入类型值。
Header Value
Accept application/vnd.blockscore+json;version=4
cURL 的默认身份验证是 Basic。当您执行-u username 时,系统会提示您输入密码。这是为了防止密码的任何外壳存储。您也可以使用-u username:password,但这会将密码存储在 shell 历史记录中,不推荐使用。无论哪种方式,cURL 都会将Authorization 标头设置为Basic base64encode(username:password)。
您实际上需要对username:password 进行base64 编码。您可以在网上进行操作,例如 here。例如,如果您输入username:password 然后对其进行编码,它将返回dXNlcm5hbWU6cGFzc3dvcmQ=
所以基本上,在 Postman 中,你应该设置一个标题 Authorization 作为名称,然后是 Basic dXNlcm5hbWU6cGFzc3dvcmQ=(也就是说,如果用户名是 username,密码是 password)。你的当然会有所不同。
Header Value
Authorization Basic dXNlcm5hbWU6cGFzc3dvcmQ=