首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP请求占用10+秒

HTTP请求占用10+秒
EN

Stack Overflow用户
提问于 2016-03-26 03:26:29
回答 2查看 2.4K关注 0票数 1

有人能解释一下为什么这段代码要花这么长时间才能加载吗?我已经在浏览器中试过了,加载它只需要大约4秒。有什么方法可以让我在VBA网络刮刮中禁用图像加载吗?

(请注意,等待是在send行上进行的,加载时间超过10秒,对我来说,这是过分的吗?)

代码语言:javascript
复制
Sub FetchIndividualURL()
    Dim XMLHTTP as Object
    Dim HTMLdoc as Object
    Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")

    URL = "http://www.gumtree.com.au/s-ad/lansvale/cars-vans-utes/2011-subaru-forester-x-grey-wagon/1106783884"

        With XMLHTTP
            .Open "GET", URL, False
            .setRequestHeader "Content-Type", "text/xml"
            .send
            Set HTMLdoc = CreateObject("HTMLFile")
            HTMLdoc.body.innerhtml = .responsetext
        End With

End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-26 11:46:16

Xmlhttprequest.send不加载图像,也不加载js代码。这将获取url引用的资源的原始客户端代码。在这段代码中没有什么是可以优化的。

您可以做的是使请求异步,并让事件处理程序来处理传入的数据。可以有多个Xmlhttprequest对象并行地下载数据。

有一篇很好的博客文章,介绍了如何在excel中正确地做到这一点:http://dailydoseofexcel.com/archives/2006/10/09/async-xmlhttp-calls/

它描述了如何进行异步调用、如何以及为什么对事件处理程序使用包装类。

票数 3
EN

Stack Overflow用户

发布于 2017-01-08 00:14:04

公认的答案并不完全正确。

有更多的请求选项需要考虑,这些选项在效率上可能因网站的不同而有很大差异,没有一个是最快或最慢的。有时,其中一项请求通常需要超过10秒,而另一项请求仅需2秒。

代码语言:javascript
复制
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36231283

复制
相关文章

相似问题

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