ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5193|回复: 11

[求助] WinHTTP 超时,无法返回任何数据,不知何故

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-13 17:27 | 显示全部楼层 |阅读模式
我在用Fiddler进行单步模拟的时候都是成功的的,可是同样的 请求头RequestHeader 设置,为什么到VBA里面就不管用了呢?
下面是我在Fiddler中设置以及执行结果,是有ResponseHeader返回的:

请求:
GET https://www.portnet.com/login HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: www.portnet.com
Connection: Keep-Alive
Cookie: fvv=; lastSelectedProductIndex=1; loginTime=1531201855941



返回:
HTTP/1.1 307 Temporary Redirect
Content-Length: 0
X-Frame-Options: ALLOW-FROM http://ip.zscaler.com/
Content-Security-Policy: frame-ancestors http://ip.zscaler.com https://ip.zscaler.com;
Location: https://gateway.zscaler.net:443/ ... SW2755D51LD5176VPTP
Content-Type: text/html
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"
Set-Cookie: _sm_au_d=1;path=/;domain=.portnet.com


-----------------------------------------------------------
我在VBA中是如下
Sub ttt()
    Dim web As New WinHttpRequest
    With web
        .Open "GET", "https://www.portnet.com/login", False
        .SetRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
        .SetRequestHeader "Accept-Language", "en-US"
        .SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko"
        .SetRequestHeader "UA-CPU", "AMD64"
        .SetRequestHeader "Accept-Encoding", "gzip, deflate"
        .SetRequestHeader "Host", "www.portnet.com"
        .SetRequestHeader "Connection", "Keep-Alive"
        .SetRequestHeader "Cookie", "fvv=; lastSelectedProductIndex=1; loginTime=1531201855941"

        .Option(6) = 0
        .Option(4) = 13056

        .Send         '------>执行到这句就卡住了,最终会弹出一个对话框,对话框内容见代码下面
    End With
End Sub


弹出的错误对话框内容:
Run-tim error '-2147012894 (80072ee2)':
Automation error


不知道什么原因,但是类似的代码在访问其他网站都可以阿,使网站做了限制吗?如果限制了为什么Fiddler就有内容返回呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-13 17:37 | 显示全部楼层
没有任何返回我就无法定位到底是什么原因,有朋友遇到这样的情况吗?盼回复

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-13 18:10 | 显示全部楼层
从OnError事件获取的信息如下

-2147012894
The operation timed out

其他三个事件并没有触发。

TA的精华主题

TA的得分主题

发表于 2018-7-13 18:55 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-13 21:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Kaohsing 发表于 2018-7-13 18:55
加个延时语句,试试

没有用,send之后就没有返回,我改成异步方式,还是会得到超时

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-13 23:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  再次做一个测试,在发送 GET请求之前还有一个CONNECT请求,如下图,但对这个还没有弄明白,视乎网上对CONNECT的描述文章很少。
有了解的指点下。

20180713231604.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-14 23:35 | 显示全部楼层
自己研究吧,看来是木有大神出现了

TA的精华主题

TA的得分主题

发表于 2018-7-15 09:01 来自手机 | 显示全部楼层
xlsber 发表于 2018-7-14 23:35
自己研究吧,看来是木有大神出现了

要登录的意思            

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-16 09:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

这个还没到登录那一步呢

TA的精华主题

TA的得分主题

发表于 2018-7-16 10:31 | 显示全部楼层
xlsber 发表于 2018-7-16 09:03
这个还没到登录那一步呢

我这边 能获得数据。你的为什么得不到数据那就不知道了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-9 15:39 , Processed in 0.026163 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表