首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >vba中的http请求超时

vba中的http请求超时
EN

Stack Overflow用户
提问于 2016-08-10 21:33:06
回答 1查看 2.6K关注 0票数 0

发生了服务器挂起或我发送的http请求有问题。所以我想知道我是否可以在我的函数中添加一个超时代码来避免我的宏崩溃,而是返回一个空数组,然后我可以用它来向用户显示一条错误消息……

代码语言:javascript
运行
复制
Function helpRequest(stringQuery As String) As String()
    Dim objRequest As MSXML2.XMLHTTP60
    Dim O As MSHTML.HTMLDocument
    Dim i As Integer

    Dim asCells() As String

    Dim contentType As String
    Dim temp As String

    If UCase(Right(stringQuery, 4)) = ".ASP" Then
        stringQuery = stringQuery & "?Cache=" & CStr(Int(200000000000000# * Rnd))
    Else
        stringQuery = stringQuery & "&Cache=" & CStr(Int(200000000000000# * Rnd))
    End If
    contentType = "application/x-www-form-urlencoded; charset=UTF-8"

    Set O = New HTMLDocument
    Set objRequest = CreateObject("MSXML2.XMLHTTP.6.0")

    With objRequest
        .Open "GET", stringQuery, False
        .send

    End With

    O.body.innerHTML = objRequest.responseText
EN

回答 1

Stack Overflow用户

发布于 2016-08-10 22:30:13

在发送http查询之前,我尝试ping服务器,如果收到实际响应值,则将其传递给

代码语言:javascript
运行
复制
Dim xht As New ServerXMLHTTP
    lPng = fn_Ping(sHst)
    Select Case (lPng < 0)
        Case True:  lTmo = 500: Debug.Print fn_Err(-lPng)
        Case False: lTmo = lPng + 100 'Debug.Print "Ping to " & sHost & " = " & lPng
    End Select
    With xht
        Call .setTimeouts(lTmo, lTmo, lTmo, lTmo) ' Def (10, 10, 10, 10)?
        Call .Open(sCmd, sURL, False)  ' True ' async
        lSta = .Status
        Select Case lSta
            Case 200'CheckRemoteURL = True
                ' do something'
            Case 202, 302
                Stop
            Case 404
                Stop
            Case Else
                'CheckRemoteURL = False
                Debug.Print .getAllResponseHeaders
                Stop
        End Select
    End With

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38874949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档