来自 Thunderclient 的带有 application/x-www-form-urlencoded 标头的后请求

问题描述 投票:0回答:1

我目前正在 VS Code 中从 Postman 切换到 Thunder Client。我从 Postman 发出的大多数请求在 Thunder 客户端中都没有出现问题。但目前我陷入了一个特定的要求。该请求是一个 POST 请求,用于选择承载令牌并使用内容类型“application/x-www-form-urlencoded”。

在 Postman 中,请求正常工作 授权:带有用户名和密码的“基本身份验证”(是的,您需要两个不同的 API 密码和用户) 标题:内容:application/x-www-form-urlencoded 正文(x-www-from-urlencoded 选项):

grant_type密码

用户名 {{用户名}}

密码{{密码}}

在 Thunderclient 中没有 x-www-from-urlencoded 选项。因此,我认为“表单选项”(Chat GBT 告诉我该选项应该有效)或“文本选项”应该有效。根据 API 的文档,内容标头必须是

application/x-www-form-urlencoded
,所以我无法将其更改为 Json 之类的内容。

如果我将以下内容放入“表单”选项中(基本上与 Postman 中相同,是的,我已相应地设置了环境变量并使用真实密码和用户对其进行了测试):

grant_type密码

用户名 {{用户名}}

密码{{密码}}

我得到:

{
  "error": "invalid_request",
  "error_description": "The token request must specify a 'grant_type'. Valid values: [password]"
}

此外,如果我尝试将

grant_type=password
放入文本选项中,我也会收到相同的错误。 (是的,我也尝试过使用带密码和不带密码的多种变体。但是根据这篇post,这应该是正确的语法。我还尝试了将键和值放在引号中的所有可能组合。

从错误消息中我可以读到,他以某种方式找不到 grant_type 的值,但我不明白为什么。 我唯一的想法就是以某种方式查看完成的消息以了解正文的外观。但我还不知道该怎么做。

rest thunderclient
1个回答
0
投票

使用身体

Form-encode

Postman与迅雷客户端的body输入类型对比表

邮差 迅雷客户端
表单数据 表格
x-www-form-urlencoded 表单编码
原始 JSON
二进制 二进制
GraphQL GraphQL

这里

通过 Docker Compose 启动 Keycloak

Thunder 客户端的 Keycloak Master Token 示例

enter image description here

enter image description here

Postman 的 Keycloak Master Token 示例

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.