You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VBA解析在线XML源失效问题求助

解决MSXML6访问带Cloudflare防护的MI5 XML接口问题

一、模拟Chrome/Edge请求头绕过检测

Cloudflare会通过请求头识别非浏览器请求,给MSXML6添加完整的浏览器请求头是最直接的尝试方案,核心是设置User-Agent、Accept等关键字段。

以下是可直接测试的VBA代码:

Sub FetchMI5ThreatLevel()
    Dim httpReq As MSXML2.XMLHTTP60
    Dim xmlDoc As MSXML2.DOMDocument60
    
    Set httpReq = New MSXML2.XMLHTTP60
    Set xmlDoc = New MSXML2.DOMDocument60
    
    ' 配置模拟Chrome的请求头
    httpReq.Open "GET", "https://www.mi5.gov.uk/UKThreatLevel/UKThreatLevel.xml", False
    httpReq.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    httpReq.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
    httpReq.setRequestHeader "Accept-Language", "en-GB,en;q=0.5"
    httpReq.setRequestHeader "Accept-Encoding", "gzip, deflate, br"
    httpReq.setRequestHeader "Connection", "keep-alive"
    httpReq.setRequestHeader "Upgrade-Insecure-Requests", "1"
    
    ' 发送请求并处理响应
    On Error Resume Next
    httpReq.send
    On Error GoTo 0
    
    If httpReq.Status = 200 Then
        xmlDoc.LoadXML httpReq.responseText
        If xmlDoc.parseError.ErrorCode = 0 Then
            ' 提取威胁等级示例
            Dim level As String
            level = xmlDoc.SelectSingleNode("//ThreatLevel").Text
            Debug.Print "当前威胁等级:" & level
            ' 这里添加更新值班人员记录的逻辑
        Else
            Debug.Print "XML解析失败:" & xmlDoc.parseError.Reason
        End If
    Else
        Debug.Print "请求失败,状态码:" & httpReq.Status
        Debug.Print "响应内容:" & httpReq.responseText
    End If
    
    ' 释放对象
    Set httpReq = Nothing
    Set xmlDoc = Nothing
End Sub

二、关于Cloudflare验证等待的说明

MSXML6只是纯HTTP请求组件,没有JavaScript引擎,无法处理Cloudflare的人机验证或动态JS渲染的等待页面。如果上述请求头模拟方案仍返回403,需要换用带浏览器内核的方案:

  • 可以用VBA调用Selenium自动化工具,启动Chrome/Edge浏览器访问目标XML地址,等待Cloudflare验证完成后,获取页面源码再解析。
  • 这种方案需要提前安装Selenium驱动,并在VBA中引用相关库。

内容的提问来源于stack exchange,提问作者Paul Green

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:32:18