查询参数字符串失败的 Invoke-RestMethod (403)
Invoke-RestMethod with query parameter string failing (403)
我正在尝试简化我的 http 请求,但查询参数似乎会导致问题,我无法弄清楚问题所在。
作品:
$endpoint = "https://testendpoint.com/test?param1=value1¶m2=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'
我尝试了几种不同的变体。任何帮助将不胜感激
在您的工作版本中,您使用了多个参数。参数通常负责指定您的调用,例如指定您的 return(Json 等)所需的格式。
在非 运行 的版本中,您获取参数并将它们传递给您的 body。但是,参数在 body 中没有位置。通常有您传递的数据,例如 JSON 数组或其他内容中的用户列表。
我不知道有什么选项可以比您在工作版本中使用的参数更智能。
如果您了解一下 http 请求的基础知识,它可能会对您有所帮助。
我还推荐一个像 Postman 这样的 API 工具,在那里你可以很好地开始 http 请求以及你需要什么数据。它还可以选择将您的 API 调用转换为 PowerShell 代码或其他代码。
我正在尝试简化我的 http 请求,但查询参数似乎会导致问题,我无法弄清楚问题所在。
作品:
$endpoint = "https://testendpoint.com/test?param1=value1¶m2=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'
我尝试了几种不同的变体。任何帮助将不胜感激
在您的工作版本中,您使用了多个参数。参数通常负责指定您的调用,例如指定您的 return(Json 等)所需的格式。
在非 运行 的版本中,您获取参数并将它们传递给您的 body。但是,参数在 body 中没有位置。通常有您传递的数据,例如 JSON 数组或其他内容中的用户列表。
我不知道有什么选项可以比您在工作版本中使用的参数更智能。
如果您了解一下 http 请求的基础知识,它可能会对您有所帮助。
我还推荐一个像 Postman 这样的 API 工具,在那里你可以很好地开始 http 请求以及你需要什么数据。它还可以选择将您的 API 调用转换为 PowerShell 代码或其他代码。