【问题标题】:Invoke-RestMethod with query parameter string failing (403)查询参数字符串失败的 Invoke-RestMethod (403)
【发布时间】:2021-05-12 16:10:01
【问题描述】:

我正在尝试简化我的 http 请求,但是查询参数似乎会导致问题,我无法弄清楚问题是什么。

作品:

$endpoint = "https://testendpoint.com/test?param1=value1&param2=value2&apikey=keyvaule"
Invoke-RestMethod -Uri "$endpoint" -Method 'Post'

失败:

$body = 
@{
    param1='value1';
    param2='value2';
    apikey='keyvalue';
}
$endpoint = "https://testendpoint.com/test"
Invoke-RestMethod -Uri $endpoint -Body $body -Method 'Post'

我尝试了几种不同的变体。任何帮助将不胜感激

【问题讨论】:

    标签: powershell httprequest


    【解决方案1】:

    在您的工作版本中,您使用了多个参数。参数通常负责指定你的调用,比如指定你的返回需要什么格式(Json等)。

    在未运行的版本中,您获取参数并将它们传递给您的身体。但是,参数在正文中没有位置。通常有您传递的数据,例如 JSON 数组中的用户列表或其他内容。

    我不知道比您在工作版本中更智能地使用参数的选项。

    如果您了解一下 http 请求的基础知识,它会对您有所帮助。

    我还推荐一个像 Postman 这样的 API 工具,在那里你可以从 http 请求和你需要什么数据的地方开始。它还可以选择将您的 API 调用转换为 PowerShell 代码或其他代码。

    【讨论】:

      猜你喜欢
      • 2022-11-05
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 1970-01-01
      相关资源
      最近更新 更多