WinHTTP 和 MSXML 永远挂在 .Send() 上

WinHTTP and MSXML hangs on .Send() forever

我正在尝试创建一个应用程序多次连接到我办公室的内部 API。这些是对同一网络上服务器的简单 GET 请求(通过 IP 访问)。但是在我们的一些机器中,.Send() 永远挂起。这是代码:

Func get_url($RequestURL)
    ;Global $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") ; didn't work too
    Local $oHTTP = ObjCreate("MSXML2.ServerXMLHTTP.3.0")
    $oHTTP.Open("GET", $RequestURL, False)
    $oHTTP.Send()
     if  $oHTTP.status == 200 Then
           Return $oHTTP.ResponseText
     Else
            Return  SetError($oHTTP.status, 0, False)
     EndIf
 EndFunc

虽然相同的代码在某些机器上运行良好,但在其他机器上,它会永远挂在 $oHTTP.Send() 上。然而,在这些机器上,我可以毫无问题地使用 telnet、netcat 和任何 Web 浏览器连接到 IP。双方都关闭了防火墙。

在研究它时,我发现不仅我遇到了这个问题,而且我找到的 none 个主题都有解决方案。此功能是否已弃用?如果是这样,什么是替代品?

嗯,这个解决方案和 bug 本身一样奇怪。

刚在脚本开始添加InetGet("http://google.com"),一切正常。

也许 Windows 不允许应用程序在一段时间后没有打开套接字的情况下打开套接字...... ,我确实这么认为)。