微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我在尝试使用 MSXML2.XMLHTTP 对象发送谷歌搜索时突然出现错误?

如何解决为什么我在尝试使用 MSXML2.XMLHTTP 对象发送谷歌搜索时突然出现错误?

我正在使用我编译的这个脚本来获取有关我观看的纪录片的详细信息。根据文件名,我得到一个文件名,然后我编译一个谷歌搜索字符串,我搜索谷歌,得到谷歌的响应,从中打开正确的链接,并获取数据。这曾经有效,直到几天前。今天,我尝试运行我的脚本,并且在调用执行 google 搜索函数时,一开始就出现错误。这是功能

Public Function getHTTP(ByVal url As String) As String
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET",url,False
        .send
        getHTTP = StrConv(.responseBody,vbUnicode)
    End With
End Function

"url" 是根据不同的标准编译的。现在是:

https://www.google.com/search?hl=en&source=hp&q=site:docuwiki.net+++"secrets+in+our+dna+"

错误在“.send”行触发。错误是:

运行时错误“-2147024891 (80070005)”:拒绝访问。

如果我然后单击调试并尝试再次运行脚本(从当前点),我会收到另一个错误

运行时错误“2147467259 (80004005)”:未指明的错误

从上次运行到现在,我认为我没有对系统进行任何更改。没有安装任何东西,没有更新,什么都没有。我应该提到我在一台相当旧的笔记本电脑上,在 Windows 7 下使用 MSOffice 2007。

这是一个最小的可重现示例。这会导致上述错误(几周前不会出现)。

Public Function getHTTP(ByVal url As String) As String
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET",False
        Debug.Print url
        .send
        getHTTP = StrConv(.responseBody,vbUnicode)
    End With
End Function
Sub testing123()
    Dim a,URL1
    URL1 = "https://www.google.com/search?hl=en&source=hp&q=site:docuwiki.net+bbc+""beautiful+minds+"""
    a = lcase(getHTTP(URL1))
End Sub

解决方法

显然,该问题是由于长时间未打开 Internet Explorer 引起的。当我测试我的 URL 时,我只在 Chrome 中这样做。当我尝试在 IE 中粘贴相同的 URL 并访问它时,我得到了这些 cookie 确认页面之一。在同意 cookie 并关闭 IE 后,我再次测试了该脚本,它像以前一样工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。