8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

为什么 WinHTTPRequest responseText 返回给 MsgBox 的值和 Debug.Print 动态网页的值不同

Andrey Nikolov 1月前

22 0

今天,在准备编写纯 vba 简单 javascript 引擎时,我遇到了一些相当奇怪的事情。从 http 提取文档,我希望得到它在 MsgBox 中输出的内容。纯文本...

今天,在准备编写纯 vba 简单 javascript 引擎时,我遇到了一件相当奇怪的事情。从 http 提取文档,我希望得到它在 MsgBox 中输出的内容。带有 javascript 标签的网站纯文本代码等。我可以使用它们。只是,如果它仅以我需要的方式输出到 msgbox 或 wscript 对象弹出窗口,我就无法使用它。但是,如果您尝试将其打印到文件、单元格等...结果就是您在 debug.print 中看到的结果。

消息框中的响应是网站的完整 javascript 代码和 html,如果您查看页面源代码,它将显示在浏览器中。debug.print 中的响应是不同的 html,表示“我们很高兴您想使用 quickbase 做更多事情。尝试在不使用 quickbase api 的情况下抓取 quickbase 页面。

我很好奇这里发生了什么。不同的变量类型?VarType 没有表明这一点。这不可能是服务器端发生的事情。无论如何,我都没想到。通读了文档,我就是搞不懂。发生了什么事?

grab = CreateObject(WinHttp.WinHttpRequest.5.1")
grab.Open
.SetRequestHeaders "irrelevant", "Really doesn't matter what I'm setting as my headers"
grab.send
' Here's the weird part...
resptext = grab.responseText
respbody = grab.responseBody
debug.print(resptext)
MsgBox(resptext)
string_of_byte_array = StrConv(respbody, vbUnicode)
debug.print(string_of_byte_array)
MsgBox(string_of_byte_array)

感谢您提供的任何澄清。

帖子版权声明 1、本帖标题:为什么 WinHTTPRequest responseText 返回给 MsgBox 的值和 Debug.Print 动态网页的值不同
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Andrey Nikolov在本站《vba》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 哪个消息框?只有 ResponseText 一个?你能提供一个 URL 来测试吗?

返回
作者最近主题: