powershell - Invoke-WebRequest、POST 方法格式问题
问题描述
我正在尝试创建一个脚本来向我需要使用的 API 发出一些 Post 请求,并且在理解如何使用 PowerShell 使其工作时遇到了一些问题。我首先在邮递员中使用 API,并且我的请求有效,但我认为我在如何为 PowerShell 格式化它方面遗漏了一些东西:
这是我的 PowerShell:
$body = @{
"jsonrpc"="2.0'"
"method"="Login"
}
"partner"="<string>"
"username"="<email>"
"password"="<password>"
}
"id"="1"
}
$contentType = "application/json"
Invoke-WebRequest -Method POST -Uri "<URL>" -body $body -ContentType $contentType
这是 Postman 中的 body 的样子,这只是为了获取我的 API 令牌:
{
"jsonrpc":"2.0",
"method":"Login",
"params":{
"partner":"<string>",
"username":"<email>",
"password":"<password>"
},
"id":"1"
}
我正在寻找两个链接来学习如何使用 POST 方法 API 和一些关于如何让第一个请求工作的指针,从这里我应该能够玩弄它并达到我的目标。
谢谢
解决方案
只是一个猜测,看起来像solarwinds api,无论如何......你的json结构无效......
你可以像这样构造它:
$params = @{
jsonrpc = '2.0';
method = 'Login'
params = @{
username = "email"
password = "password"
}
id = "1"
} | ConvertTo-Json
$Token = Invoke-RestMethod -Uri $uri -Body $params -Method Post
最终的主体应如下所示:
{
"method": "Login",
"params": {
"password": "password",
"username": "email"
},
"id": "1",
"jsonrpc": "2.0"
}
推荐阅读
- c++ - 错误:将 'const std::__cxx11::list<>' 作为 'this' 参数传递会丢弃限定符
- vue.js - vuejs href链接未绑定到按钮
- visual-studio-code - 有没有办法在语言扩展中为 `tokenColors` 贡献默认值
- mongodb - Mongodb Group by get $max 和 max 的值和该组的百分比
- react-native - 添加唯一 ID 对移动应用程序性能的影响
- android - 将选定的复选框值存储在字符串数组中
- networking - 访问 googleapis.google.com 会给出“无主机路由”
- php - PHP 重新排序
- python - 无法安装 python-dev
- javascript - 通过 netlify 函数发送电子邮件