gpt4 book ai didi

json - 使用 Azure powershell Runbook 中的 Invoke-RestMethod 时,底层连接已关闭 : An unexpected error occurred on a receive.

转载 作者:行者123 更新时间:2023-12-02 05:52:40 24 4
gpt4 key购买 nike

我正在尝试从 Azure Powershell Runbook 中将 Microsoft Azure 警报发送到 Google 聊天室(环聊)。有时,消息发送时不会出现任何问题,但大约有一半的尝试会返回以下错误:

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a receive. 
At line:43 char:1
+ Invoke-RestMethod -uri $uriHangouts -Method Post -body $body -Content ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

我的脚本的第 43 行看起来像这样

Invoke-RestMethod -uri $uriHangouts -Method Post -body $body -ContentType 'application/json'

其中 $uriHangouts 是 webhook 地址,$body 是根据此处提供的架构的消息: https://developers.google.com/hangouts/chat/reference/message-formats/basic

由于它只是测试,我每次都会发送完全相同的消息。这是一个带有一些标记的基本版本。如果我将其转发到 Azure 逻辑应用程序并将其从那里重新发送到环聊,则每次都能正常工作。如果我从我的电脑发送它,它每次也能正常工作。到目前为止,我尝试使用 Invoke-WebRequest 代替 Invoke-RestMethod,并使用以下行强制 TLS 1.2 (1.1),但没有成功:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

我真的不知道下一步该去哪里。

请帮忙!预先感谢您!

最佳答案

您不需要使用 Invoke-WebRequest 而不是 Invoke-RestMethod,您只需运行 ​[Net.ServicePointManager]::SecurityProtocol = [ Net.SecurityProtocolType]::Tls12 在执行 Invoke-RestMethod 之前 this blog提到过。

如果你想使用 Invoke-WebRequest 代替 Invoke-RestMethod,你可以尝试在 之后添加 -UseBasicParsing调用-WebRequest 命令。

关于json - 使用 Azure powershell Runbook 中的 Invoke-RestMethod 时,底层连接已关闭 : An unexpected error occurred on a receive.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66050990/

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