今天,在准备编写纯 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)
感谢您提供的任何澄清。
为什么 WinHTTPRequest responseText 返回给 MsgBox 的值和 Debug.Print 动态网页的值不同
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!