Joh*_*tti 4 excel vba excel-vba
我们有这个小子,只是将数据泵入远程服务器.一切都按预期工作.
前几天,网络服务器上发生了一个持续了大约一个小时的事件.我仍然可以PING服务器,但IIS没有响应.结果,宏只是等待响应.
有关快速通过/失败测试或超时的任何想法?
Sub WebLog(getUser As String, getEvent As String, getValue As String)
Dim URL As String
URL = "http://myurl.com/dp.aspx?Task=Log&v1=" + getUser + "&v2=" + getEvent + "&v3=" + getValue
Dim xml As Object
Set xml = CreateObject("MSXML2.XMLHTTP")
xml.Open "GET", URL, False
xml.Send
End Sub
Run Code Online (Sandbox Code Playgroud)
您可能需要查看WinHttp.WinHttpRequest.5.1库,该库允许您timeouts为请求进行设置.
你应该.SetTimeouts在之前.Open设置,你设置的四个参数.SetTimeouts是(以毫秒为单位):
Resolve, Connect, Send and Receive
Run Code Online (Sandbox Code Playgroud)
您的示例代码将是(10秒超时):
Sub WebLog(getUser As String, getEvent As String, getValue As String)
Dim URL As String
URL = "http://myurl.com/dp.aspx?Task=Log&v1=" + getUser + "&v2=" + getEvent + "&v3=" + getValue
Dim xml As Object
Set xml = CreateObject("WinHttp.WinHttpRequest.5.1")
xml.SetTimeouts 10000, 10000, 10000, 10000
xml.Open "GET", URL, False
xml.Send
End Sub
Run Code Online (Sandbox Code Playgroud)