【问题标题】:How to specify this particular header in Postman如何在 Postman 中指定此特定标头
【发布时间】:2020-09-03 14:12:25
【问题描述】:
资源网址
GET https://<MATD_IP>/php/session.php
应在会话请求中指定以下 HTTP 标头:
Accept: application/vnd.ve.v1.0+json
Content-Type: application/json
VE-SDK-API: Base64 encoded "user name:password" string
VE-API-Version (Optional)
我对指定 base64 编码字符串的含义感到困惑。我试图做到这一点,但我失败了。任何人都可以通过举例来帮助我了解确切的标头参数。
谢谢
【问题讨论】:
标签:
api
rest
header
postman
postman-collection-runner
【解决方案1】:
使用选项-n 省略回显尾随新行(对于不需要):
echo -n "username:password" | base64
【解决方案2】:
您可以在 Pre-request Script 中使用它:
let base64 = Buffer.from("username:password").toString('base64')
pm.request.headers.add({key: "VE-SDK-API", value: base64})
这将转换为 Base64,然后使用编码值创建标头。
【解决方案3】:
这很可能意味着您需要为该字段提供 base64 字符串。用 : 写下凭据。例如:
cooluser:str0ngP4ssword
然后你将这个确切的字符串编码为 base64,这会给你:
Y29vbHVzZXI6c3RyMG5nUEBzc3dvcmQ=
您可以通过终端(Linux)echo "XXX" | base64 进行编码,或者只是在 WEB 上搜索“base64 encode”(出于安全原因,不推荐)。
然后您可以将它用于标题:
Accept: application/vnd.ve.v1.0+json
Content-Type: application/json
VE-SDK-API: Y29vbHVzZXI6c3RyMG5nUEBzc3dvcmQ=
VE-API-Version 1.x