处理 MSXML 超时
Handling an MSXML timeout
我们的一个网站有一个小故障,有时会导致它崩溃 - 后端需要重新启动。替代品尚未准备好投入生产,因此我创建了一个 VBS 脚本,用于轮询服务器并在以下情况下重启服务器:
a) HTTP 状态代码 <> 200,或者
b) 页面加载但在页面上找不到子字符串。
如果tomcat服务没有响应,HTTP状态检查超时;如果发生这种情况,我想调用一个函数。是否可以捕获并处理超时?这是我的相关代码片段的片段。
xmlhttp.setOption 2, 13056
xmlhttp.open "get", "https://www.mywebsite.com/thisurl", false
xmlhttp.send
if xmlhttp.status <> 200 then
call restartTomcat()
call emailAlert()
end if
提前致谢。
很遗憾,您无法在 VBScript 中创建对象事件处理程序。
也许您可以使用 HTTP 请求对象的 .setTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
方法。在调用 send
方法之前添加它。参数说明如下:
resolveTimeout
长整数。该值用于将主机名(如"www.microsoft.com")映射到IP地址;默认值是无限的,意味着没有超时。
连接超时
长整数。该值用于与目标服务器建立通信套接字,默认超时值为60秒。
发送超时
长整数。该值适用于在通信套接字上向目标服务器发送单个请求数据包(如果有)。发送到服务器的大请求通常会被分解成多个数据包;发送超时适用于单独发送每个数据包。默认值为 30 秒。
接收超时
长整数。该值适用于从目标服务器接收响应数据包。大响应将被分解成多个数据包;接收超时适用于从套接字中获取每个数据包。默认值为 30 秒。
您可以在 send
通话后检查当前状态。这应该可以帮助您处理无响应的服务器。
我们的一个网站有一个小故障,有时会导致它崩溃 - 后端需要重新启动。替代品尚未准备好投入生产,因此我创建了一个 VBS 脚本,用于轮询服务器并在以下情况下重启服务器:
a) HTTP 状态代码 <> 200,或者 b) 页面加载但在页面上找不到子字符串。
如果tomcat服务没有响应,HTTP状态检查超时;如果发生这种情况,我想调用一个函数。是否可以捕获并处理超时?这是我的相关代码片段的片段。
xmlhttp.setOption 2, 13056
xmlhttp.open "get", "https://www.mywebsite.com/thisurl", false
xmlhttp.send
if xmlhttp.status <> 200 then
call restartTomcat()
call emailAlert()
end if
提前致谢。
很遗憾,您无法在 VBScript 中创建对象事件处理程序。
也许您可以使用 HTTP 请求对象的 .setTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
方法。在调用 send
方法之前添加它。参数说明如下:
resolveTimeout
长整数。该值用于将主机名(如"www.microsoft.com")映射到IP地址;默认值是无限的,意味着没有超时。
连接超时
长整数。该值用于与目标服务器建立通信套接字,默认超时值为60秒。
发送超时
长整数。该值适用于在通信套接字上向目标服务器发送单个请求数据包(如果有)。发送到服务器的大请求通常会被分解成多个数据包;发送超时适用于单独发送每个数据包。默认值为 30 秒。
接收超时
长整数。该值适用于从目标服务器接收响应数据包。大响应将被分解成多个数据包;接收超时适用于从套接字中获取每个数据包。默认值为 30 秒。
您可以在 send
通话后检查当前状态。这应该可以帮助您处理无响应的服务器。