gpt4 book ai didi

json - Invoke-Webrequest 不正确的 Json 格式 "Cannot bind parameter ' headers' "

转载 作者:行者123 更新时间:2023-12-02 06:46:47 24 4
gpt4 key购买 nike

我正在尝试向 Azure WebHook 发送一个包含 headers+Body 和 WebRequest 的 Body:

$Body = @"
{
"headers":
{
"ocp-apim-subscription-key":"xxxxxx",
"ocp-apim-trace":"true"
},
"Body":
{
"toto": "xxxxxx-1505-xxxxx-8113-xxxxxxxxxx",
"status": "Enable",
}
}"@

我正在使用:

Invoke-RestMethod -Uri $webhook_url -Headers $webhook_headers -Method $webhook_method -Body $Body

一切正常,之后在 Azure 中,我收到以下参数输入:

workflow TestAPI
{
Param ([object]$WebHookData)
if ($WebHookData)
{
# Get Webhook data
$WebhookName = $WebHookData.WebhookName
$WebhookHeaders = $WebHookData.RequestHeader
$WebhookBody = $WebHookData.RequestBody

# Body converting
$body = (ConvertFrom-Json -InputObject $WebhookBody)

在脚本末尾,我再次将其转换为 Json 并使用 Invoke-Webrequest:

    $body_json = (Convertto-Json -InputObject $body.body -Depth 10)
$header_json = (Convertto-Json -InputObject $body.headers -Depth 10 )
$response = Invoke-RestMethod -Uri $URI_key -Method $Method -Body $body_json -Headers $header_json -ContentType "application/json" -UseBasicParsing

但我收到此错误:

Invoke-RestMethod:无法绑定(bind)参数“ header ”。无法转换“{ "ocp-apim-订阅-key": "xxxxxxxxxxx", “ocp-apim-trace”:“真”}”类型“System.String”的值转换为类型“System.Collections.IDictionary”。

这是 ConvertFrom-Json 后 PsObject 中 $body.headers 值的输出:

@{ocp-apim-subscription-key=xxxxxxxxx; ocp-apim-trace=true}

ConvertTo-Json 后 $header_json 的输出:

{
"ocp-apim-subscription-key": "xxxxxxxxxxxxx",
"ocp-apim-trace": "true"
}

最佳答案

要添加 Persistent 13 的通用功能,您可以使用像这样简单的 PowerShell:

$headers = @{
"Accept-Encoding" = 'gzip'
"User-Agent" = 'Outlook-Android'
}
Invoke-WebRequest http://fq.dn -Headers $headers

关于json - Invoke-Webrequest 不正确的 Json 格式 "Cannot bind parameter ' headers' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48771813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com